我發現自己始終對我的初始提交到GIT HUB時發生了微小的更改。將迄今爲止所有的git提交轉換爲單個提交併清除所有歷史記錄
從此的所有提交歷史是無用的。
通常我只是不斷提交和刪除回購和重新制作回購等。
林隱約知道,我可以把一堆提交變成一個單一的提交,但是當我把它推到遠程將所有的垃圾歷史仍然在那裏?
是否有辦法將一堆提交轉換爲第一次提交,然後將這段歷史切碎。
我發現自己始終對我的初始提交到GIT HUB時發生了微小的更改。將迄今爲止所有的git提交轉換爲單個提交併清除所有歷史記錄
從此的所有提交歷史是無用的。
通常我只是不斷提交和刪除回購和重新制作回購等。
林隱約知道,我可以把一堆提交變成一個單一的提交,但是當我把它推到遠程將所有的垃圾歷史仍然在那裏?
是否有辦法將一堆提交轉換爲第一次提交,然後將這段歷史切碎。
忘記歷史,到目前爲止,你就可以開始一個新的孤兒分支:
git checkout --orphan new-start
git commit -a
在此之後,你可以poiny主使用
git checkout master
git reset --hard new-start
這個新分支被警告說,這種操作可能會丟失無法恢復的信息。
所有提交歷史從這個沒用
就像你爲了實現某種功能或做錯誤修復使用分支聲音給我,然後合併這個分支成大師和唐「不想看到主所有那些小的提交,而不是看到一個拋光承諾,告訴你
Implemented feature a
要做到這一點,你一個合併之前既可以git rebase master
您的分支nd調整歷史到您的需求或做一個git merge --squash
成主人將壓縮你的分支的所有提交到一個。
一旦你完成了這一步,把你的新主人推上你的一個新的提交到github並刪除你的功能分支。
我實際上只是在懶惰,在我最初上傳過程中推送一堆提交來調整README.md頁面的樣式; ) – Prospero
有很多小的提交有什麼問題?這就是git所擅長的。 – damian
不用一直提交,直到你覺得你已經完成了,然後['git add --patch [FILE]'](https:// git-scm。 com/book/en/v2/Git-Tools-Interactive-Staging)並提交相關更改。這可能有助於許多提交都屬於一起。它還可以讓你專注於工作,而不是不斷思考提交的東西。達米安也是對的;許多提交沒有任何內在錯誤。 –
沒有一堆小提交的錯誤。這些提交只是我在項目初始上傳過程中發生的一系列拼寫錯誤和樣式更改,並且與項目無關,而僅僅是它在git上的外觀。這些變化只是讓人們分心XD – Prospero