我有一个像这样的git commit树,
commit1(HEAD->master)
commit2(origin/master)
commit3
现在我必须从另一个分支中挑选一个提交,这样 提交树应类似于
commit1(HEAD->master)
cherrypicked commit
commit2(origin/master)
commit3
如何执行此操作?
答案 0 :(得分:3)
所以你有
... C ... <--(other_branch)
/
x ... A <--(origin/master)
\
B <--(master)
首先要做的是像往常一样将樱桃C
摘下,
... C ... <--(other_branch)
/
x ... A <--(origin/master)
\
B -- C' <--(master)
然后进行交互式变基
git rebase -i origin/master master
您将看到一个TODO
列表,其中origin/master
和master
之间的每次提交都有一行。交换B
和C'
的行,然后保存并退出。
答案 1 :(得分:0)
首先创建一个从原点/母版开始的分支
git checkout origin/master
git checkout -b wip-reordering
然后使用gitk樱桃拣选所需顺序的所有项目。
gitk --all .
您可以使用右键单击和上下文菜单来选择当前分支
检查这是您想要的水(如果没有,请从另一个分支开始)
有了所需的配置后,将master分支设置为新分支的头
git branch -f master
最主要的是,在您的工作阶段,您处于分支机构中,并且不会直接影响原始工作状态。这意味着您可以一次又一次尝试,直到满意为止。
清理wip-**分支。