Git总是在分支交换机上合并

时间:2012-10-10 14:34:13

标签: git

我在结帐git branch testbranch后尝试制作git checkout testbranch。然后我编辑了一个文件,例如“README”。

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

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

  

错误:您对“X”进行了本地更改;不能切换分支。

这么久,谢谢所有的鱼。

2 个答案:

答案 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很聪明。

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

祝你好运。