将特定分支合并到另一个分支时,我遇到了一个问题。
我们总共有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系统。
有人可以给出一个简单形式的解决方案,以便初学者可以理解吗?
谢谢大家!
答案 0 :(得分:0)
Git允许您将提交压缩为一个(或更多)。它基于交互式git rebase
应用程序。也许,你可以合并到SUP然后压缩你的提交。因此,在将有意义的合并到SUP中时,将提交保留在分支中。
有关git rebase
的详情,请查看此recipee或git-book。
再见