我一直試圖刪除2個額外的提交開始我的回購 - 但是當我認爲我成功了,我推到github上的空回購和網絡圖顯示沒有變化。Git rebase刪除額外的初始提交
它是怎麼發生的:我的朋友推了一個初始提交 - 一個10兆圖書館。我告訴他我們會重新開始,所以我沒有拉,我做了一個新的初始提交和推動。我告訴他刪除他的git文件夾,但他只刪除文件夾中的所有文件,不包括.git文件夾。當他拉下來時,他做出了合併承諾,而且我沒有注意到一段時間。
現在我們的git的歷史的開始是這樣的:
藍色位是我的第二初始提交。當他合併時,他用我的承諾簡單地覆蓋了一切。在這一點上,我嘗試回到我在一個新分支中的初始提交,並確保我不「選擇」他的初始提交,但是當我推入一個空的回購時,他的額外初始提交再次出現。我也嘗試回到最初的提交標籤爲2,並且從標籤爲4的跳轉(跳過另一個初始提交1和合並提交3)開始,每次提交(櫻桃選擇)。由於1和3都在rebase結束後仍然被推到一個空的repo,所以這兩者都不起作用。有沒有辦法刪除1和3?因爲3簡單地拋棄了所有的1,我認爲它應該能夠。
我所用的底墊的命令是
git checkout -b tmpfix
git rebase --root -i
和
git branch -b tmpfix <sha1>
git cherry-pick <sha1>