1

我的团队目前使用一个古老的、可怕的源代码控制库,我们正在寻求切换到一个更成熟的系统。Git 是最吸引我们的。

我们开发供公司内部使用的软件和脚本,我们同时从事许多项目。同一个开发人员可能会在几周内从事一个长期项目,中间有几个小到小项目。

我们当前的 VCS 有一个中央存储库,每个人都可以签出并返回到这个位置。您的工作站上只有当前副本。

我们当前的库让我做的一件事是查看谁签出了文件但忘记签入更改。使用 git,所有存储库都是本地的,那么如何知道有人忘记推送到中央副本?

4

1 回答 1

3

重要的问题是你为什么需要知道。因为看起来你有人的问题而不是技术问题。此类问题的技术解决方案在实践中很少奏效。

旧的版本控制系统知道服务器上的“签出”操作,因为它们不擅长合并,因此需要防止两个人同时处理同一个文件。但这引起了很多问题,因为人们需要互相等待,所以它被“编辑-合并-提交”工作流程所取代,在该工作流程中,多人可以同时处理同一个文件,因为实际上所做的更改是大多数时候很容易结合。版本控制服务器不再关心本地修改。分布式版本控制通过将中间步骤存储为并行历史记录更进一步。

所以你不需要知道谁有本地更改,因为它会阻止任何人;它不是。

你可能想知道我能想到的唯一另一个原因是,你可以提醒他们他们还没有完成它。这就是人的问题,看到未提交的更改并不能解决它。如果他们甚至没有开始呢?或者他们出于某种原因开始并取消了结帐?

因此,您需要跟踪他们分配了哪些任务,并询问他们的状态。git 可以让他们轻松地向您展示他们正在进行的工作,方法是推送到临时分支或通过电子邮件发送差异,甚至通过网络导出他们的本地存储库,以便您可以从中提取。

于 2012-07-26T12:28:25.020 回答