如果我遇到这个问题,我会做以下事情:
cbbe364
1.) 将(exclusive) 和21b247a
(inclusive)之间的提交重新定位到您的8e9ccae
.
git rebase --onto 8e9ccae cbbe364 21b247a
这将提交c66dced
并21b247a
直接移动到8e9ccae
. 这将导致最新提交Add Binary Mobile的另一个哈希值,让我们将哈希值称为“commit2”
(树可能不是 100% 准确,没有 git 存储库来重现它)
* 8379515 (HEAD, origin/master, origin/HEAD, master) Merge branch 'binary-mobile'
|\
| * 21b247a (binary-mobile) Add Binary Mobile
| * c66dced Add Music Collection
| | cbbe364 Add task Music Collection
|/
|
|
| * commit2 (HEAD) Add Binary Mobile
| * commit1 Add Music Collection
|/
* 8e9ccae Update README.md
* 31d2050 Reorganize repo and add README files
* 88fe4fd Rename readme file
* 8ed72bd Reorganize the structure of the repo
* 219a25a Update README.md
* 60921e6 Create README.md
* 1de4f36 Initial commit
2.) 之后将您的master
向下(沿着“树”向下)移动到commit2
:
git branch -d master
git checkout commit2
git branch master
| * commit2 (HEAD, master) Add Binary Mobile
| * commit1 Add Music Collection
|/
* 8e9ccae Update README.md
3.)现在你有了master
它所属的地方,即 on commit2
。如果你想在“单行”上跟随你的分支,你需要摆脱binary-mobile
分支,只需删除它:
git branch -D binary-mobile
因为提交21b247a
现在没有分支名称,并且您不在此分支上工作(没有 HEAD),所以该分支将消失。
4.) 最后推送您的更改(在这种情况下需要强制)。这会将您origin/master
向下移动到master
,并且合并分支应该消失。
git push master --force
* commit2 (HEAD, master, origin/master) Add Binary Mobile
* commit1 Add Music Collection
* 8e9ccae Update README.md
* 31d2050 Reorganize repo and add README files
* 88fe4fd Rename readme file
* 8ed72bd Reorganize the structure of the repo
* 219a25a Update README.md
* 60921e6 Create README.md
* 1de4f36 Initial commit