2

将特定分支合并到另一个分支时遇到问题。

我们总共有 3 个分支作为我们项目的基础。开发,SUP,大师。开发人员基于他们的 DEV 分支,当他们的票据作为基线时,我将它们合并到 DEV 中供客户测试。此时没有额外的更改,因为它们基于 DEV 的本地分支。问题是当我尝试将例如分支 DEV12345 合并到 SUP 中时,它显示了一堆与 DEV12345 分支(提交)中所做的更改无关的更改。

我已经阅读了有关樱桃采摘和其他一些解决方案的信息,但我刚刚开始使用 GIT,因此没有足够的经验来遵循我所看到的一些答案。

我不想挑选,因为当我将 SUP 合并到 master 时,我的理解是,我可能会丢失提交或有更多的合并冲突?

$ git merge DEV12345 --no-commit
$ git status

在这一点上,它显示了我不想要的一堆变化。我确实尝试过这个,这是我从 Stackoverflow 中的另一个解决方案中得到的。

$git add <fileNamePath> 
$git clean -f -d
$git reset HEAD

我想这就是我所做的。我已经验证这确实只带来了我想要的特定更改,即 100 个文件中只有 1 个文件不同。我相信如果我没记错的话,因为我做了我自己的

$git commit -m "xxxxxxxxxxxx"

我会丢失原作者的提交/历史,这对我们不利。

有没有更简单的方法来做到这一点?当我最终发布到大师时,这也将保留历史。一旦客户批准票,我们就会发布到 SUP,然后一旦我将所有批准的票发布到 SUP,我将 SUP 合并到 master,这是我们的 Live 系统。

有人可以以简单的形式给出一个解决方案,以便初学者可以理解吗?

感谢大家!

4

1 回答 1

0

Git 允许您将提交压缩为一个(或多个)。它基于交互式git rebase应用程序。也许,您可以合并到 SUP 中,然后将您的提交压缩在一起。因此,您将提交保留在您的分支中,同时有意义地合并到 SUP 中。

有关 的更多信息git rebase,请查看此配方或 git-book。

再见

于 2012-07-19T14:08:49.063 回答