git checkout<;分行>;——&书信电报;路径>;不删除已删除的文件

git checkout<;分行>;——&书信电报;路径>;不删除已删除的文件,git,Git,我在git的一个开发分支中做了很多更改,我需要将这些更改重新设置到master上。Rebase变得混乱,所以我打算使用git checkout dev_branch--.将所有这些更改的副本复制到master中,然后重新提交它们。这很好,除了我在dev_分支中删除的文件在我执行git签出时不会从master中删除之外。我是否缺少git checkout的一个参数,或者是否有更好的方法将树复制到master?如果您不使用rebase,也可以使用merge,它将完成我认为您正在尝试的操作: git

我在git的一个开发分支中做了很多更改,我需要将这些更改重新设置到master上。Rebase变得混乱,所以我打算使用git checkout dev_branch--.将所有这些更改的副本复制到master中,然后重新提交它们。这很好,除了我在dev_分支中删除的文件在我执行git签出时不会从master中删除之外。我是否缺少git checkout的一个参数,或者是否有更好的方法将树复制到master?

如果您不使用rebase,也可以使用merge,它将完成我认为您正在尝试的操作:

git checkout dev_branch
git merge master

我也有同样的问题,但是约翰的答案对我来说不适用,因为我不想在历史中合并。以下是我的解决方案,以防对其他人有所帮助(确保当前工作目录干净,以避免添加不相关的文件):

欢迎提出简化建议:)

git checkout -b tmp_branch master
git reset dev_branch
git add -A
git commit -m "Copying master's state"
git checkout dev_branch
git reset --hard tmp_branch
git branch -D tmp_branch