我做了一些垃圾承諾,我不希望再有的Git(集線器)刪除舊犯
比方說,我做了一些細微的變化,並在每次更改後提交。但我只想從最後一次提交到github。這裏是我的歷史的樣子:
Initial commit --> Second commit --> Third commit --> Fourth commit
只有我的第四個承諾是不夠好,推到github上,所以我怎麼能刪除提交1〜3,但保持4?
我試圖谷歌我的問題,但我只能找出如何刪除最新的提交或類似的東西。
我做了一些垃圾承諾,我不希望再有的Git(集線器)刪除舊犯
比方說,我做了一些細微的變化,並在每次更改後提交。但我只想從最後一次提交到github。這裏是我的歷史的樣子:
Initial commit --> Second commit --> Third commit --> Fourth commit
只有我的第四個承諾是不夠好,推到github上,所以我怎麼能刪除提交1〜3,但保持4?
我試圖谷歌我的問題,但我只能找出如何刪除最新的提交或類似的東西。
你不能刪除最早的承諾,如果最新的承諾取決於他們。如果不是:
git rebase -i HEAD~4
並通過刪除相應的行來刪除不需要的提交。
使用git revert <commit>
其中<commit>
是在git log中顯示的提交的哈希。基本上它會創建另一個提交,它將恢復指定提交中完成的更改。 步驟如下:
git log
和注意的承諾1-3
git revert <commit 1>
,git revert <commit 2>
和git revert <commit 3>
three commits
哈希值將恢復提交1-3
的變化。git rebase -i HEAD~7
這將壁球你的7個提交1commit 4
你要推的pick
和改變他人squash
其提交信息。欲瞭解更多信息請參閱this