有时我在一个功能分支中,但我做了一个我想在 master.xml 中看到的不相关的更改。通常我可以这样做:
git checkout master
git commit -m "..." filename
但有时当我进行结帐时,我会收到一条警告说有本地更改,因此我无法切换分支。
为什么这种情况只是偶尔发生?当我看到此消息时,是否有解决方法?也许藏起来?
有时我在一个功能分支中,但我做了一个我想在 master.xml 中看到的不相关的更改。通常我可以这样做:
git checkout master
git commit -m "..." filename
但有时当我进行结帐时,我会收到一条警告说有本地更改,因此我无法切换分支。
为什么这种情况只是偶尔发生?当我看到此消息时,是否有解决方法?也许藏起来?
正如 Devin Ceartas 所提到的,当切换分支会更改您已经在本地更改的某些文件时,就会发生这种情况。(当您对不会更改的文件进行本地更改时,Git 不会抱怨,或者添加既不存在于分支也不存在于 master 上的新文件。)
解决这个问题的两种方法:
“git stash”你的更改,更改为 master,然后“git stash apply”。然后提交更改。
在分支上提交您想要的更改,然后“git stash”任何其他更改(如果有的话),更改为 master,然后在 master 上挑选更改。
我也见过这个。我认为问题在于您的本地更改会随着另一个分支中的某些内容而改变(而不是另一个分支中的新文件)。您始终可以在不同的目录中检出另一个分支。