我从GitHub中的一个存储库中分叉了一个分支,并为我提交了一些特定的东西.现在我发现原始存储库有一个很好的功能HEAD.
我想在没有事先提交的情况下合并它.我该怎么办?我知道如何合并所有提交:
git branch -b a-good-feature
git pull repository master
git checkout master
git merge a-good-feature
git commit -a
git push
Run Code Online (Sandbox Code Playgroud) 我有两个分支.提交a是一个头,而其他有b,c,d,e和f之上a.我想移动c,d,e和f第一支没有提交b.使用樱桃挑选很容易:结帐第一个分支樱桃 - 一个接一个c地挑选f第二个分支到第一个.但有没有办法挑选所有c- f一个命令?
这是场景的直观描述(感谢JJD):

假设我是回购的维护者,并且我想从贡献者那里获取更改,那么有一些可能的工作流程:
cherry-pick每个都从远程提交(按顺序).在这种情况下,git将提交记录为与远程分支无关.merge是分支,拉入所有更改,并添加新的"冲突"提交(如果需要).merge各自从远程分支单独提交(再次按顺序),允许为每个提交记录冲突,而不是将所有冲突组合为一个.rebase(与cherry-pick选项相同?),但我的理解是,这可能会导致贡献者的混淆.也许这消除了选项1.在情况2和3中,git记录了提交的分支历史记录,与1不同.
使用任何一种方法cherry-pick或merge描述的方法之间有什么优点和缺点?我的理解是方法2是常态,但我觉得用单个"冲突"合并解决大型提交并不是最干净的解决方案.