0

我在网络驱动器上有一个裸仓库,两个客户将 php 项目克隆到他们自己的 PC 上。所有这些都是由 TortoiseGIT 操作的。

假设客户端 A 和客户端 B 具有相同的修订副本。

  1. A 对 index.php 进行一些更改。
  2. 提交他们自己的仓库,然后推送到裸仓库。

但是,在客户端 B 项目文件夹中,更改后的文件仍会更新(带有勾号的绿色图标)。

无论如何,客户端 B 是否会实时通知或更改 TortoiseGIT 的覆盖图标?

为什么我要这样做,因为我们的客户需要在开始工作之前执行 git fetch 命令并查看日志。

它们可以在开始工作之前进行 git merge,而不是稍后解决冲突。

4

1 回答 1

2

GIT 是一个分布式版本控制系统。这意味着每个本地存储库都可以并且确实可以独立工作。只有在进行获取、拉取或推送时,它才会联系另一个存储库。

本地存储库不关心任何已配置的远程存储库的实际状态,除非通过 fetch 或 pull 明确告知。GIT 中没有办法实现你想做的事情。
您可以通过钩子(在裸存储库中)和脚本(在每个开发人员机器中)的组合来实现这一点,但我建议不要这样做。


顺便说一句:对于大多数集中式版本控制系统,例如 SVN,它的工作原理是一样的:您必须在工作副本知道服务器有更改的版本之前进行更新。

于 2013-04-22T07:17:09.387 回答