我试图做一个git branch testbranch
,在此结算后git checkout testbranch
。然后我编辑了一个文件,例如“README”。Git总是合并在一个分支开关
现在我试着切换回“主”分支,它总是使merge
,而不是只抱怨我有未提交的文件。
那么为什么这样呢?我以为我会得到一个像这样的错误...
error: You have local changes to "X"; cannot switch branches.
这么长时间,并感谢所有的鱼。
我试图做一个git branch testbranch
,在此结算后git checkout testbranch
。然后我编辑了一个文件,例如“README”。Git总是合并在一个分支开关
现在我试着切换回“主”分支,它总是使merge
,而不是只抱怨我有未提交的文件。
那么为什么这样呢?我以为我会得到一个像这样的错误...
error: You have local changes to "X"; cannot switch branches.
这么长时间,并感谢所有的鱼。
如果你的改变是兼容的(快进),git不会抱怨,并会保留修改后的版本。 Git会假设你已经在错误的分支上编辑了这个文件,并想回到最好的那个。
这不是合并,但:如果文件都被修改,git将符合要求。
合并只能在提交级完成,而不能在文件级完成。
好的,谢谢我明白了。但是没有办法让git问怎么办? – user1735225
这个问题发生在我身上。
其实,这不是什么大不了的事。
条件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很聪明。
这就是我的观点,我知道你明白了。
祝你好运。
http://stackoverflow.com/questions/1304626/git-switch-branch-and-ignore-any-changes-without-committing可以在这里帮助 – VonC