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

标签 git version-control

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

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

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

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

因此,如果开发人员 B 提交并推送到服务器,开发人员 A 不会知道,它不会出现在他的文件历史中……除非他真的从服务器上 pull ,对吧?! (只要他们在同一个分支..)

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

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

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

最佳答案

... and have to 'guess' when one has pushed to the server.. even if there's a command to know if a file has a new revision, it is bad having to check it manually..

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

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

关于git - 如何在并发环境中实际使用 Git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224198/

相关文章:

git - 无法连接到 bitbucket.org 端口 443 : Network is unreachable

windows - Vim 插件不适用于病原体

git - 我应该将 google-services.json(来自 Firebase)添加到我的存储库吗?

version-control - 懒人的源代码控制系统?

git - 我可以使用 gitg 只查看一个文件/目录的更改吗?

performance - Git 在 Big Commits 与 tiny commits 方面的表现

ms-access - 从 MS Access 将外键定义导出为 DDL 语句

version-control - 分支基础教程(Mercurial-Windows具体说明)

git - 是否有针对开发人员的 SCM 公认的 "best"或规范书籍?

git - 如何在 git 上恢复旧提交中的特定文件