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分支中。它们只是在工作目录中。因此,您现在可以将它们提交到master(git 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.