我读了几篇关于此的帖子,但需要一些澄清。我看到我可以使用
在我的本地分支中获得未提交的提交 git log origin/master..HEAD
当我从一个分支移动到另一个分支时,有没有办法自动应用未删除的提交(即使我们必须解决合并冲突,如果有的话)到移动到分支上?
此外,在我的本地分支上,当我有未经修改的更改,并且我签出了一个不同的分支时,未提交的更改将被移动到move-to分支,但是git文档说这会引发错误。这是设置在配置中的某个位置吗?为什么我没有看到错误?
$ git checkout mytopic
error: You have local changes to 'frotz'; not switching branches.
答案 0 :(得分:1)
没有自动方式来应用未提交的提交。您可以使用
手动完成git rebase --onto
根据您要完成的任务,您可能需要创建临时分支或执行一些快进合并操作。这取决于您是否要保留提交的两个副本。
对于你的第二个问题 - 我个人并不喜欢git checkout
以这种方式运作,但我相信如果您修改的文件在您要切换的分支上有变化,它会抱怨。否则它什么也没说。
答案 1 :(得分:0)
当我从一个分支移动到另一个分支时,有没有办法自动应用未删除的提交(即使我们必须解决合并冲突,如果有的话)到移动到分支上?
如果您想移动提交到另一个分支,那么您可以使用git rebase
。否则,您很可能只想git merge
第一个分支与另一个分支。
此外,在我的本地分支上,当我有未经修改的更改,并且我签出了一个不同的分支时,未提交的更改将被移动到move-to分支,但是git文档说这会引发错误。这是设置在配置中的某个位置吗?为什么我没有看到错误?
这取决于您所做的本地更改以及您要迁移到的分支中的更改。如果存在合并冲突,则会出现错误。如果没有合并冲突,那么您可以检查分支而不会出现任何错误。