2012-10-10 27 views
1

我试图做一个git branch testbranch,在此结算后git checkout testbranch。然后我编辑了一个文件,例如“README”。Git总是合并在一个分支开关

现在我试着切换回“主”分支,它总是使merge,而不是只抱怨我有未提交的文件。

那么为什么这样呢?我以为我会得到一个像这样的错误...

error: You have local changes to "X"; cannot switch branches.

这么长时间,并感谢所有的鱼。

+1

http://stackoverflow.com/questions/1304626/git-switch-branch-and-ignore-any-changes-without-committing可以在这里帮助 – VonC

回答

0

如果你的改变是兼容的(快进),git不会抱怨,并会保留修改后的版本。 Git会假设你已经在错误的分支上编辑了这个文件,并想回到最好的那个。

这不是合并,但:如果文件都被修改,git将符合要求。

合并只能在提交级完成,而不能在文件级完成。

+0

好的,谢谢我明白了。但是没有办法让git问怎么办? – user1735225

0

这个问题发生在我身上。

其实,这不是什么大不了的事。

条件1:混帐给你一个错误:

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

条件2:混帐给你:

M  README 
Switched to branch 'master' 

但是,这种情况是否会出现1时?或条件2?

条件1:master分支和testbranch之间的README发生冲突。

条件2:更改主分支中的README即可,因此主分支中发生更改。

所以不管是条件1还是条件2,都可以使用git,因为git很聪明。

这就是我的观点,我知道你明白了。

祝你好运。