所以,我们正在从 CVSNT 迁移到 Perforce 或 Git,过去几周我一直在研究它们的功能,我很清楚 Perforce 实际上有点相似,因为它是中心化的。
Git 看起来很快,但我们是一家所有开发人员都在同一个房间里的公司,即使有超过 100 名开发人员,仍然所有计算机都连接到 CVSNT 服务器......
出于这个原因,我看不出如何让 Git 像 Perforce 那样工作。
对于离线,当一个人克隆一个 Git 存储库时,他将复制历史记录和关于该存储库的所有信息以使其离线工作,但是,以并发方式工作,例如你有一个本地文件的历史记录似乎很奇怪......
所以如果开发者 B 提交并推送到服务器,开发者 A 不会知道,它不会出现在他的文件历史记录中……除非他真的从服务器拉取,对吧?!(只要它们在同一个分支中..)
但是,如果它以这种方式工作,那么我实际上将使用分布式 SCM 以集中方式工作......并且必须“猜测”一个人何时推送到服务器......即使有一个命令知道文件是否有一个新的修订版,不得不手动检查它是不好的..
有人可以更好地解释一下 Git 是如何以并发方式工作的,而不必知道另一个人何时实际推送到服务器等等。
另一件事,我在 Git 上找不到任何好的修订图,我在 Tortoise Git 中找到了,但它更像是一个分支图而不是修订图..