我现在在使用Git的团队中,我们有一个非常好的工作流程。我们有一个中央存储库,其中包含两个分支,即dev和master。我们创建本地分支机构来处理单个任务。准备就绪后,我们将 merge 为开发人员。然后,当一切准备就绪时,我们 merge 以掌握,并标记所有发行版。如果多个开发人员需要更直接地合作完成一项任务,我们可以创建另一个(可能是临时的)远程分支供他们共享补丁。这对我们来说很好,但是却给我们带来了两个问题。

一个问题是备份问题。当然,大多数代码库都已备份。具有存储库克隆的每台计算机都具有大部分代码。但是,直到他们 merge 到dev和push中之后,才会备份某人在一天中编写的代码。如果他们正在处理的任务不平凡,那么可能要几天后他们才能 merge 并推销有值(value)的东西。我们如何确保将进行中的代码备份在中央安全位置?只是使用Git外部的一些备份解决方案?

第二个问题是监控员工进度的问题。经理希望能够看到开发人员每天编写的代码。如果有一天去买东西,而您什么都没花,那看起来就好像您整天什么都没做。我们需要某种方式来每天展示我们的工作,而不会强制我们提交和推送尚未准备好进行提交, merge 和推送的代码。

我们考虑的一种解决方案是在中央仓库上为我们创建的每个本地分支创建一个远程分支。这可能会起作用,但即使我们定期删除旧的未使用的分支,也将是一团困惑。管理所有这些工作还需要很多额外的工作。

我们如何在不中断Git工作流程的情况下满足这些业务需求?

最佳答案

您可以考虑做这样的事情。对私有(private)开发人员备份使用非分支 namespace 。例如。 refs/backups/xxx/*,其中xxx是开发人员用户ID或缩写或类似名称。

然后,开发人员可以执行git push origin +refs/heads/*:refs/backups/xxx/*来备份其所有本地分支。

默认情况下,开发人员看不到彼此的私有(private)备份,但是在必要时可以检索它们。

可以通过别名将备份推式公式转换为git backup命令。

我认为这不是一个好主意,可以使用开发人员的私有(private)分支机构来查看其“进度”,这听起来很像微观管理。

编辑:在编写它时,感觉很熟悉,然后我想起了原因。不久前,我针对另一个问题写了类似的文章link

关于git - 如何使用中央存储库管理备份和监视Git?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1765218/

10-12 23:34
查看更多