gpt4 book ai didi

git - 整理 Git 困惑

转载 作者:太空狗 更新时间:2023-10-29 12:45:04 25 4
gpt4 key购买 nike

我刚刚继承了一个使用 Git 维护的项目。有一次,代码被部署到 3 个独立的系统上,每个系统都维护着自己的分散式 Git 存储库。

这 3 个系统中的每一个都在 3 个不同的方向上扩展了原始基础系统。这 3 个系统都没有相互同步。一些更改在 master 分支上,其他在新分支上。

我怎样才能将 3 个不同的来源放在一起,这样我就可以:

  1. 找到共同的工作基础;
  2. 找出哪些更改是应该应用于所有 3 个系统的错误修复;和
  3. 以一种合理的方式维护这 3 个系统,以便只有一个公共(public)分支并将这 3 个不同系统所需的定制分开?

最佳答案

我可能会首先将所有存储库推送到中央存储库中的单独分支,从中我可以轻松地在分支之间进行 rebase 、 merge 等操作。

一个很好的可视化工具,例如git-age , gitnub , gitx , giggle可以创造奇迹,但除非您能找到分支点,否则您的任务可能会相当乏味。如果有适用于所有分支的类似补丁,您可以使用(交互式)rebase重新排序您的提交,使它们处于相同的顺序。然后你可以开始“压缩”你的分支,通过将提交放入 master 来向上移动分支点。可以找到关于如何使用 rebase 重新排序提交的很好的描述 here .

很可能您需要采取的行动在 Git Howto Index 提供的链接中有所描述。 .不错cheat sheet触手可及总是很高兴。此外,我怀疑 Eric Sinks 的后续帖子“DVCS and DAGs, Part 1”会包含一些有用的东西(虽然没有,但读起来还是很有趣)。

其他必备链接是:Git Magic , Git ReadySourceMage Git Guide

我希望所有的 repos 都有很好的提交消息,告诉你每个补丁的目的,就是那个或代码审查:)

至于如何维护自定义,我们在以下方面很幸运:

我们首先将自定义代码与通用代码分开(或保持分离)。然后我们尝试了两种方法;两者都很好:

  1. 所有部署都有自己的存储库,其中保存了自定义设置。
  2. 所有部署在“自定义”存储库中都有自己的分支。

在第一次部署后,看到第二次部署是事实,我们花了一些时间试图预见 future 的定制/切割点,以减少定制存储库(alt.1,这是我们目前使用的方法)和基础/核心 repo 。

是的,每当我们注意到核心/自定义拆分滑动时,我们都会尝试无情地重构 :)

关于git - 整理 Git 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com