Git分支:分支没有不同


0

几天来,我对git有问题。

假设我有一个分支“ master”。我创建了一个分支“ normal”,我创建了“ git checkout normal”,然后对代码进行了一些更改。

如果我“ git checkout master”,然后执行“ git status”,则我在完全不同的分支上可以看到我在分支法线上所做的更改!

那不是我一直的行为。我不得不说我现在完全无能为力。我不知道发生了什么

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


您是否在检出master之前在常规分支上提交了更改?是成功还是根本报告错误?git checkout master
ge0rdi 2015年

不会,我在签出母版之前没有提交更改。是的,git checkout master成功。这很奇怪,因为通常如果您不提交,就无法签出分支。我不必“ git stash”。
Rififi

Answers:


0

您没有将更改提交到普通分支。仅更改了工作目录中的文件。

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

M       test.txt  
Switched to branch 'master'

这并不意味着这些更改现在位于master分支中。它们只是在工作目录中。因此,您现在可以将它们提交到mastergit commit -a)或签出normal并在那里提交。

如果本地更改和您要检出的分支更改之间存在冲突,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或者完全放弃以检出所需的分支。


我不知道,我也认为这些变化也将掌握。谢谢
。– Rififi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.