如何在并发环境中实际使用 Git

Bru*_* BL 2 git version-control

所以,我们正在从 CVSNT 迁移到 Perforce 或 Git,我在过去几周一直在研究它们的功能,我很清楚 Perforce 实际上更相似,因为它是集中式的。

Git 看起来很快,但我们是一家所有开发人员都待在同一个房间的公司,即使有 100 多名开发人员,仍然所有计算机都连接到 CVSNT 服务器......

出于这个原因,我看不出如何让 Git 像 Perforce 那样工作。

对于离线,当一个人克隆一个 Git 存储库时,他将复制历史记录和该存储库的所有内容以使其离线工作,但是,以并发方式工作,例如您拥有本地文件的历史记录似乎很奇怪......

所以如果开发者 B 提交并推送到服务器,开发者 A 不会知道它,它不会在他的文件的历史记录中......除非他真的从服务器上拉,对吧?!(只要他们在同一个分支..)

但是,如果它以这种方式工作,那么我实际上将使用分布式 SCM 以集中方式工作......并且必须“猜测”何时推送到服务器......即使有一个命令来知道一个文件有一个新的修订版,不得不手动检查它是不好的..

有人可以更好地解释我实际上 Git 如何以并发方式工作,而不必知道另一个何时实际推送到服务器等......?

另一件事,我在 Git 上找不到任何不错的修订图,我在 Tortoise Git 中找到了,但它更像是分支图而不是修订图。

Emi*_*yan 5

...并且必须在推送到服务器时“猜测”.. 即使有一个命令可以知道文件是否有新的修订版,手动检查它也是不好的..

为此,有一个名为git hooks的功能,它允许您在每次提交之前或之后(以及在其他时间)启动一个脚本。

因此,您可以使用它来通知(电子邮件、短信、鸽子)其他在特定分支上工作的人有人推送到该分支,因此他们应该进行提取。