在git中切换分支

Bil*_*ill 9 git branch switch-statement git-checkout

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

git checkout master
git commit -m "..." filename
Run Code Online (Sandbox Code Playgroud)

但有时当我结帐时,我会收到一个警告,表示存在本地更改,因此我无法切换分支.

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

Phi*_*hil 16

正如Devin Ceartas所提到的,当切换分支会改变您已经在本地更改的某个文件时会发生这种情况.(当您对无法更改的文件进行本地更改时,Git不会抱怨,或者添加既不存在于分支上也不存在的新文件.)

有两种方法:

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

  2. 在分支上提交您想要的更改,然后"git stash"任何其他更改(如果有),更改为master,并选择master上的更改.

  • 四种方式:3.你总是可以尝试与"git checkout -m"进行三向合并,以及4.你可以用"git checkout -f"强制结账(丢失你的更改). (5认同)