這是我的 git 命令:
git rebase -i HEAD~2
我希望看到最近的 2 個提交,但我看到的是:

我還想提一下,雖然我一直在嘗試壓縮某些提交,但我一直遇到合并沖突。我感覺這些問題可能是相關的。
我有點像 git noob,所以任何幫助都將不勝感激。
git log --graph --all --oneline --decorate:

提交鏈:

uj5u.com熱心網友回復:
合并提交有多個父提交。~表示提交的第一個父級。那是圖表的左側。~只跟隨第一個父母。HEAD~2要求第一個祖父母。
~ 是跳過合并分支的歷史記錄的好方法。
* HEAD
|\
| *
| *
| *
| *
* | HEAD~1
|/
* HEAD~2
|\
| *
| *
|/
* HEAD~3
git rebase -i HEAD~2是真的,git rebase -i HEAD~2..HEAD所以你將通過HEAD排除所有可訪問的提交來獲得所有可訪問的提交HEAD~2。這意味著HEAD,HEAD~1和 side 分支中的所有提交。
^用于選擇父母。HEAD^是第一個父級,與HEAD~. HEAD^2選擇第二個父級,這是分支中的第一個提交。
^并且~可以鏈接。如果你只想在側分支上提交兩次,那就是git rebase -i HEAD^2~2. HEAD^2選擇 HEAD 的第二個父級。HEAD^2~2HEAD 的第二個父級的第一個祖父級也是如此。有插圖更容易。
* HEAD
|\
| * HEAD^2
| * HEAD^2~ also HEAD^2^
| * HEAD^2~2 also HEAD^2^^
| * HEAD^2~3 also HEAD^2^^^
* | HEAD~1 also HEAD^1
|/
* HEAD~2 also HEAD^1~
|\
| *
| *
|/
* HEAD~3
使困惑?沒關系。與其把這一切弄亂,通常更容易重新回到你合并的分支,并將額外的提交保留為pick.
git rebase -i main
有關更多資訊,請參閱gitrevisions。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/317337.html
標籤:混帐 git-rebase
下一篇:防止特定分支被合并到任何東西中?
