【发布时间】:2013-12-23 12:55:38
【问题描述】:
我正在 Visual Studio 2012 下从 Subversion 迁移到 Git。在一个小团队中,我们使用跨团队成员共享的 master 分支。
在 Subversion 中,当两个团队成员更改相同的源文件并且没有未解决的冲突时,提交的逻辑是:
- 第一个团队成员更新本地(此处没有更改)副本,然后使用标记“方法 A 中的更改”提交更改。
- 第二个团队成员更新本地副本(更改自动合并),然后使用标记“方法 B 中的更改”提交更改。
在 Git 中我还有其他行为:
- 第一个团队成员使用“方法 A 中的更改”标签同步、提交和推送更改。
- 由于存在冲突,第二个团队成员无法同步,因此他使用标记“方法 B 中的更改”提交更改,然后拉取更改(更改自动合并)。
- VS 使用自动文本“Merge branch 'master' of http://...”创建第三次提交,其中包含两个提交的最终版本。
- 然后第二个成员可以推送这两个提交,文件的历史记录得到 3 个提交。
此自动提交不允许更改文本(仅当我遇到手动解决冲突时)。这是使用 Visual Studio Tools for Git 的正确方法吗?
【问题讨论】:
-
“Microsoft Git”这个名字简直让人想打婴儿的脸。 //题外话
-
这是预期行为。当您推送您的更改时,您之前的带有原始描述的提交也会被推送。
-
正式名称是“Visual Studio Tools for Git”,应该可以拯救那些宝贝。 @OneOfOne
标签: git visual-studio-2012 version-control merge