在git中切换分支

时间:2009-09-25 01:42:07

标签: git switch-statement branch git-checkout

有时候我在一个功能分支中,但我做了一个无关的改变,我希望在大师中看到。我常常可以这样做:

git checkout master
git commit -m "..." filename

但有时当我结账时,我会收到一条警告,说明有本地更改,因此我无法切换分支。

为什么这有时只会发生?当我看到这条消息时是否有解决方法?也许藏匿?

2 个答案:

答案 0 :(得分:16)

正如Devin Ceartas所提到的,当切换分支会改变你已在本地更改的某个文件时会发生这种情况。 (当您对不会更改的文件进行本地更改时,Git不会抱怨,或者添加分支上和主服务器上都不存在的新文件。)

解决这个问题的两种方法:

  1. “git stash”您的更改,更改为master,以及“git stash apply”。然后提交更改。

  2. 在分支上提交您想要的更改,然后“git stash”任何其他更改(如果有的话),更改为master,并在主服务器上挑选更改。

答案 1 :(得分:0)

我也见过这个。我认为问题是当你的本地更改会随着另一个分支中的某些内容而改变时(而不是另一个分支中没有的新文件)。您始终可以在另一个目录中检查其他分支。