我在结帐git branch testbranch
后尝试制作git checkout testbranch
。然后我编辑了一个文件,例如“README”。
现在我尝试切换回“master”分支,它总是生成merge
,而不是只抱怨我有未提交的文件。
那为什么呢?我以为我会得到像......这样的错误。
错误:您对“X”进行了本地更改;不能切换分支。
这么久,谢谢所有的鱼。
答案 0 :(得分:0)
如果您的更改是兼容的(快进),git不会抱怨并保留修改后的版本。 Git只会假设您已经在错误的分支上编辑了文件,并希望回到好的分支。
但这不是合并:如果文件都被修改,git将遵守。
合并只能在提交级别完成,而不能在文件级别完成。
答案 1 :(得分:0)
这个问题发生在我身上。
实际上,这不是什么大问题。
条件1:git给你一个错误:
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:git给你这个:
M README
Switched to branch 'master'
但是,条件1何时发生?或条件2?
条件1:master branch和testbranch之间的README发生了更改冲突。
条件2:更改主分支中的README是可以的,因此更改发生在主分支中。
所以无论是条件1还是2,你都可以使用git,因为git很聪明。
这是我的观点,我知道你明白了。
祝你好运。