开始使用git(在TFS之后)

时间:2018-08-21 09:01:06

标签: git tfs tfvc

我的团队现在正在研究从TFS转移到GIT:

第一个问题是如何防止文件冲突?
TFS-
 1.检出文件。
 2.开始使用文件。
 3.提交更改。
如果在B进行操作时A进行尝试检出文件,则TFS将阻止该文件并防止冲突。

GIT-
 1.将文件从远程存储库拉到本地存储库。
 2.开始处理文件。
 3.仅提交本地回购。
在其他人正在处理文件时签出文件不是问题。因为这一切都发生在他的本地仓库中。

对我来说git看起来要复杂得多。你怎么看? 使用git的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

  

TFS将阻止它并防止冲突。

不,不是。它可以防止与文件冲突,但是会导致同事之间发生冲突。例如,一个人签出文件,然后去放假三周,这导致您不得不在管理界面中深入挖掘并解锁文件。

lock-modify-unlock模型已过时,无法很好地扩展。另请参见Source Control - Lock vs. Merge?。如果需要的话,您的开发实践或代码库都有可能不是最佳选择。

我要说的是:接受一个事实,即您必须不时解决合并冲突。记下发生的时间,并查看可以进行哪些更改以防止将来发生。选择适当的分支策略并重构代码,这样就不必在同一文件中进行无关的更改,将会大有帮助。

答案 1 :(得分:0)

冲突是git的一部分。如果要进行较大的更改,则可以创建自己的个人分支,请在几天内进行更改。将更新从主分支逐渐拉到您的个人分支,然后最终合并回主分支。如果您将主分支逐步“变基”到开发分支上,则冲突将最小。

对于较小的更改,您只会遇到冲突,这时您打开差异/合并工具,经历所有冲突,然后提交更改。 (如果冲突不平凡,通常由高级开发人员完成)。

重要的是要记住,更改是逐行进行的。因此,如果有人编辑了第50行,而您又添加了第272行,则应该没有合并冲突,而应该合并这两个更改。冲突仅在2个人更改同一代码块的时间发生。

作为旁注,我建议阅读git文档,然后也许从“ git flow”工作流程开始,这应该有助于最大程度地减少冲突