我目前的git仓库有三个分支:mainline,feature_a,和feature_b。历史如下:
mainline 是从远程仓库中克隆的feature_a 已从检出分支 mainlinefeature_a并提交给commit_afeature_b 已从检出分支 feature_afeature_b并提交给commit_bfeature_a并修改为commit_a如何feature_b使用修改后的更新来更新分支commit_a?
您的历史记录可能看起来像这样:
A' [feature_a]
/
*--*--*--* [mainline]
\
A [original feature_a]
\
B [feature_b]
Run Code Online (Sandbox Code Playgroud)
提交A是您进行的原始提交feature_a。当您使用修改提交时git commit --amend,它创建了一个新提交A'。
您需要重新设置基础feature_b以将其附加到新提交A'。做:
git rebase --onto feature_a A feature_b
Run Code Online (Sandbox Code Playgroud)
(您也许也可以通过简单的操作来摆脱困境git rebase feature_a feature_b,但是由于您修改了commit,所以我不确定这将如何工作A。)
现在您的历史记录将如下所示:
B' [feature_b]
/
A' [feature_a]
/
*--*--*--* [mainline]
Run Code Online (Sandbox Code Playgroud)
从技术上讲A,B它们仍在回购中,但是由于未使用它们,因此Git会在以后对其进行垃圾回收。
| 归档时间: |
|
| 查看次数: |
445 次 |
| 最近记录: |