git checkout <branch> - <path>不删除已删除的文件</path> </branch>

时间:2011-10-31 20:01:12

标签: git

我在git的开发分支中有一堆更改,我需要将这些更改为master。 Rebase变得混乱,因此我将使用git checkout dev_branch -- .将所有这些更改的副本复制到master中,然后重新发送它们。这很好用,除了我执行git checkout时我在dev_branch中删除的文件没有从master中删除。我错过了git checkout的参数,还是有更好的方法将树复制到master?

2 个答案:

答案 0 :(得分:0)

如果你没有使用rebase,你也可以只使用merge,它会做我认为你想做的事情:

git checkout dev_branch
git merge master

答案 1 :(得分:0)

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

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

欢迎使建议更简单的建议:)