Git 分支:分支无异

Git 分支:分支无异

这几天遇到git的一个问题。

假设我有一个分支“master”。我创建了一个分支“normal”,然后“git checkout normal”,然后我稍微修改了我的代码。

如果我“git checkout master”,然后执行“git status”,我在分支上所做的更改正常可见,而我在完全不同的分支上!

我以前不是这样的。我不得不说我现在完全无能为力。我不知道发生了什么。

你能帮我一下吗?我有 git 2.3.3,我在 Manjaro Linux 上。

答案1

你没有提交你的更改普通的分支。只有工作目录中的文件被更改。

即使工作目录发生变化,您也可以在 Git 分支之间切换。如果没有冲突,Git 将显示:

M       test.txt  
Switched to branch 'master'

这并不意味着这些变化现在掌握分支。它们只是在工作目录中。因此,您现在可以将它们提交到掌握git commit -a)或查看普通的并在那里提交。

如果您的本地更改和您想要检出的分支上的更改之间存在冲突,Git 将显示错误:

error: Your local changes to the following files would be overwritten by checkout:  
         test.txt  
Please, commit your changes or stash them before you can switch branches.  
Aborting

在这种情况下,您要么提交这些更改,stash要么完全放弃以检出所需的分支。

相关内容