0

我们有第三方软件,每年更改大约 3 或 4 次。供应商的代码显然没有考虑到我们的定制,当他们的最新代码(单个 Pro*C 文件)应用于我们的生产系统时,它会清除所有这些。

一位同事建议我们将此代码放入 Git,并尝试使用其工具来管理更改。为此,我们做了以下工作。我在 Git 中创建了两个分支,默认的 master 分支和另一个名为“custom”的分支。在自定义分支中,文件的第一个版本是去年 10 月的未修改点发布,文件的第二个版本是我们成功应用和测试的自定义。

在 master 分支中,第一个版本又是 10 月发布。第二个是他们(当前)3 月发布的版本。

我需要采取哪些步骤将两个自定义分支版本之间的差异应用到主分支?

在颠覆中,有一些教程和示例可用于所谓的“供应商下降”,但我在 Git 的这种情况下没有找到太多。绝对需要提高我的 Git 技能。

4

1 回答 1

3

简单了,svn 甚至会因为有这方面的教程而感到尴尬。

让我们在此图中查看您的场景:

A -- master
 \
  B -- custom

在此图中,A是第三方软件的原始 10 月版本。B是您所做的更改。

现在有一个新的 3 月版本的第三方软件。

第 1 步:明显的部分

首先,将新版本放在分支的存储库中master

$ git checkout master    # go to master
$ cp -R ../march/* .     # overwrite with new version
$ git add ????           # add any new files they might have added (check with `git status`)
$ git commit -a          # make a new commit

我相信这一步是很明显的。所以现在你有下面的图表:

A----C -- master
 \
  B -- custom

C新提交在哪里,包含 3 月版本。

第 2 步:超级简单的部分

这就是您现在需要做的所有事情:

$ git checkout custom    # go to custom
$ git merge master       # get the changes over

完毕。

现在的图表是:

A----C -- master
 \    \
  B----D -- custom
于 2013-04-15T13:50:01.597 回答