我在 master 分支上以交互方式重新定位,所以功能分支现在看起来像是在它开始之前就开始了。我怎样才能解决这个问题?
I rebased interactively on the master branch, so a feature branch now looks like it starts well before it did. How can I fix this?
我有一个 master 分支和一个 feature 分支:
A --- B --- C --- D --- E Master
\
F - G --- H Feature
然后我以交互方式重新设置 master 分支的基数,这样 C 就改变了(变成 C'。现在分支之间的最新共同提交是 B:
A --- B --- C' --- D --- E Master
\
C - F --- G --- H Feature
我怎样才能回到我真正的意思?也就是说,功能分支中只有相关的提交,而不是我巧妙更改的旧提交:
A --- B --- C' --- D --- E Master
\
F - G --- H Feature
TIA。
简单。将您的功能分支重新定位到 C':
git rebase --onto C' C Feature
C Feature
部分选择从 C
到 Feature (head)
的提交(即 F
、G
和 H
),--onto C'
部分将它们变基到 C'
.
如果您想先看看它会做什么,您可以添加交互式 -i
开关。
git checkout -B Master Master@{1}
将 Master
标签放回移动之前的位置(说 git reflog Master
以查看它所在位置的列表),然后执行您真正想要的变基。
我有一个 master 分支和一个 feature 分支:
A --- B --- C --- D --- E Master
\
F - G --- H Feature
然后我以交互方式重新设置 master 分支的基数,这样 C 就改变了(变成 C'。现在分支之间的最新共同提交是 B:
A --- B --- C' --- D --- E Master
\
C - F --- G --- H Feature
我怎样才能回到我真正的意思?也就是说,功能分支中只有相关的提交,而不是我巧妙更改的旧提交:
A --- B --- C' --- D --- E Master
\
F - G --- H Feature
TIA。
简单。将您的功能分支重新定位到 C':
git rebase --onto C' C Feature
C Feature
部分选择从 C
到 Feature (head)
的提交(即 F
、G
和 H
),--onto C'
部分将它们变基到 C'
.
如果您想先看看它会做什么,您可以添加交互式 -i
开关。
git checkout -B Master Master@{1}
将 Master
标签放回移动之前的位置(说 git reflog Master
以查看它所在位置的列表),然后执行您真正想要的变基。