仅合并与GIT中特定分支关联的更改?

时间:2012-07-19 13:59:25

标签: git version-control merge branch git-merge

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

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

我已经阅读了关于挑选樱桃和其他一些解决方案的内容,但我刚刚开始使用GIT,所以没有足够的经验来遵循我所看到的一些答案。

我不想挑选,因为这是我的理解,当我将SUPM SUP合并为主人时,我可能会失去提交或者有更多的合并冲突?

$ 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合并到主机,这是我们的Live系统。

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

谢谢大家!

1 个答案:

答案 0 :(得分:0)

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

有关git rebase的详情,请查看此recipee或git-book。

再见