我只是从 SVN 转移到 GIT。我浏览了帖子和评论,但没有找到有效的解决方案。
我有以下问题:
如何签出或锁定文件,以便其他开发人员知道文件不可用并由该用户签出?
如果一个用户更新了其他用户正在处理的同一文件,并且两者都将更改推送到主存储库。现在,它如何解决冲突或合并。
冲突或合并如何工作。
我们是否可以选择管理 tortoiseGIT 中的冲突或通过 GIT 存储库推送命令进行内部管理。?
请让我知道上述问题的解决方案。
谢谢你。
git 是一个分布式 vcs,因此您所做的任何事情都将在您的本地存储库中完成,而本地存储库本身并不知道其他开发人员的本地存储库。所以回答问题 1:
由于 git 没有中央服务器存储库(您可以创建一个,但它只是您定义的中央存储库,而不是 git 的设计),因此没有实例可以像 svn 那样锁定文件。
这里有一篇关于团队工作流程的详细文章。
合并冲突尽可能由 git 管理。如果无法解决,则会显示存在手动解决的合并冲突。
关于 2.,首先将您的本地提交重新设置在获取的远程分支之上(另一个开发人员已经推送的分支)。
如果需要,rebase 将触发合并。
您在本地解决它们,然后推送您的提交。