0

因此,由于某些原因,我的小团队无法无限期地访问我们的 git repo 所在的服务器。

不过,我们都拥有 repo 最新更改的本地副本,并希望继续为它做出贡献。一旦我们再次可以访问服务器,我们希望能够将我们的更改推送到该服务器并像以前一样使用它。

我的问题是,我们怎样才能做到这一点?我看到很多关于在没有服务器的情况下使用 git 的帖子/问题,所以我相信这是可能的。

我的想法是:

  1. 一个人将在他们的机器上拥有“最终”存储库的副本

  2. 当一个人想要进行更改时,他们会将更改的补丁文件发送给最终的 repo 所有者。

  3. 然后,最终的 repo 所有者将创建一个基于 master 的新分支,然后将补丁应用到这个新分支。

  4. 然后,最终的回购所有者将测试新分支

  5. 测试完成后,最终的 repo 所有者可以合并到 master。

所以我对这个工作流程的一个问题是:团队中的其他人如何知道这些变化?如果最终的 repo 所有者合并为 master,其他成员如何将合并反映在他们的 repos 中?

任何指导或批评表示赞赏。

4

2 回答 2

0

我们找到了一个非常适合我们案例的解决方案,但如果我们不能这样做,我们会使用git bundle

于 2020-03-21T23:33:53.683 回答
0

Git 在您的计算机上有完整的存储库副本。假设您同时不想尝试和分享,请继续正常工作。再次访问服务器后推送。

如果您都在对 master(或任何单个分支)进行更改,这会增加冲突的风险,因此请确保使用定义明确的功能分支


如果您确实想协调,您可以按照您的建议做,并将补丁文件发送给指定的集成商。Git 有一个广泛的电子邮件工作流程。但是补丁文件失去了 Git 的大部分功能。而且您仍然需要一种方法让集成商将更改分发回下游给每个人。

最简单的做法是设置一个新的临时 Git 服务器。这只需要 ssh 访问。将其设置为origin并使用它。这比通过电子邮件发送补丁文件更安全,更不容易出错。

一旦您再次访问主服务器,您就可以将您的更改直接推送到它。你们都有一个完整的存储库副本,你们都可以重建它。

于 2020-03-16T18:38:23.650 回答