我们在使用SVN好几年后有时候会混淆,我必须承认,这很混乱。以下面的示例 -https://bitbucket.org/xxx/yyy Git合并分支'主'
- User1对a.java进行更改并将其推送到远程服务器。
- User2对b.java进行了更改。他不能马上推(SVN的偏差,但没关系)。他需要先从远程服务器拉出,然后将其更改推送到远程服务器。这将显示为单独的合并提交,并在here on stackoverflow itself
- 中得到了很好的解释。现在是有趣的部分。如果我们推断这是多个文件,那么与User2更改的其中一个可能会发生冲突。这一次,git无法进行自动提交。用户2将不得不解决冲突,然后提交此合并。
这令人困惑,因为没有对这么多文件进行更改的用户会对将它们作为此合并提交(特别是SVN背景)的一部分进行提交持怀疑态度。如果此用户现在只提交他解决冲突并推送到远程的文件,Git将停止提供他未推送的最新版本的文件。这带来了我在团队其他人中失去了工作的感觉。
这段漫长的故事后,我的问题是,为什么它这样做?为什么GIT不应该保留其他文件的最新版本?作为自动合并的一部分,git是否应该知道用户没有提交所有带给用户机器的文件?有没有可以避免犯这个错误的机制?
Thanks @Helmut。 –