5

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

一个问题是备份问题。当然,大部分代码库都已备份。每台拥有存储库克隆的机器都拥有大部分代码。但是,某人在一天中编写的代码在合并到 dev 和 push 之前不会被备份。如果他们正在处理的任务不是微不足道的,那么他们可能需要几天的时间才能获得任何值得合并和推动的东西。我们如何确保在中央安全位置备份此工作中的代码?只需使用 Git 外部的一些备份解决方案?

第二个问题是监控员工进度的问题。经理们希望能够看到开发人员每天编写的代码。如果有一天在你没有推出任何东西的情况下购买,那么看起来你一整天都没有做任何事情。我们需要某种方式来展示我们每天的工作,而不是强迫我们提交和推送尚未准备好提交、合并和推送的代码。

我们考虑的一种解决方案是在中央存储库上为我们创建的每个本地分支创建一个远程分支。这可能会奏效,但即使我们定期删除旧的未使用分支,它也会变得一团糟。管理所有这些也是很多额外的工作。

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

4

2 回答 2

3

你可以考虑做这样的事情。对私有开发人员备份使用非分支命名空间。例如refs/backups/xxx/*,其中 xxx 是开发人员用户 ID 或首字母缩写或类似名称。

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

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

git backup备份推送公式可以通过别名做成命令。

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

编辑:写的时候,感觉很熟悉,然后我想起了原因。不久前,我在回答另一个问题时写了类似的东西:链接

于 2009-11-19T18:02:46.450 回答
2
于 2009-11-19T21:58:55.983 回答