在SVN中,您可以签出(阻止其他人处理同一文件)。你能在GIT中做到这一点吗?您似乎必须设置第二个系统,告诉人们GIT的人正在编辑哪些文件?
答案 0 :(得分:12)
Git没有可以查询的中央存储,以检查文件是否“已锁定”。由于其分布式特性,存储库可以在1,000台计算机上,并且它们都是平等的。如果您允许所有文件锁定文件,并让它们将其传送给所有其他存储库,则所有文件基本上都会被锁定。
所以不,你不能在Git中这样做。相反,依靠经常更新和处理奇怪的合并冲突。
答案 1 :(得分:5)
对于DVCS(如“分布式”)
,这没有多大意义所有你能做的就是设置一个“中央”回购,它不会接受非快速推送,这会让你先把你的工作重新推出,然后把它推到所说的“中央”回购。
但同样,在VCS中没有“锁定”的概念,您可以在本地存储所有历史记录,并且可以与所有其他“服务器”VCS完全隔离。
答案 2 :(得分:2)
在git(或任何分布式版本控制系统)中,问题不是“你能锁定文件吗?”,而是“为什么有人会使用VCS来锁定文件是必要的还是可取的?” DVCS的工作流程/思维模式简单地使操作完全不具有感性。它类似于在你甚至不知道你想要使用哪些盒子时询问如何在所有1000个不同的盒子上锁定/ etc / password。
您无法控制其他开发人员的访问权限,因为他们无法编辑其文件副本。您可以通过决定将哪些补丁纳入代码副本来控制访问权限。