我只是看着git commit日誌,並且顯然我一直在推動2位作者。所以我有重複。Git推送作爲2位作者
如何刪除所有提交的歷史記錄?我花了一個鐘頭查找信息這樣做,但我不能這樣做git push --force
(它被拒絕,非快進)
的git log
:
http://pastie.org/private/fwxzqoin5lhmhwzsxdnnga
我只是看着git commit日誌,並且顯然我一直在推動2位作者。所以我有重複。Git推送作爲2位作者
如何刪除所有提交的歷史記錄?我花了一個鐘頭查找信息這樣做,但我不能這樣做git push --force
(它被拒絕,非快進)
的git log
:
http://pastie.org/private/fwxzqoin5lhmhwzsxdnnga
不能刪除提交但你可以做git reset --hard <hash>
到你的出發點。
你可以試試下面的命令,但造成的後果(GIT v2.6.4)當心:然後
git checkout <ref you want to keep from>
git checkout -b my_new_master
git push origin +my_new_master:master
Git的垃圾收集器應該從舊的主銷燬所有的提交。 From the docs:
混帳推產地+開發:主
更新原點庫的主分支與Dev分支,允許非快進更新。這可能會導致原始存儲庫中懸掛的未提交的提交。考慮以下情況,即快進是不可能的:
o---o---o---A---B origin/master \ X---Y---Z dev
上面的命令將原點庫改爲
A---B (unnamed branch) / o---o---o---X---Y---Z master
提交A和B將不再屬於同一個分支象徵性的名字,所以無法達到。因此,這些提交將通過源存儲庫上的git gc命令刪除。
或者,也可以得到相同的結果來分解這些步驟,特別是對於舊版本的Git。我已經在一些虛擬存儲庫上完成了這個工作,但時間很長,而且我相信毫無意義,因爲出於非常好的理由而感到沮喪:這樣做可以打破其他存儲庫。但是,上面的命令應該足夠好,因爲您正在使用個人或低變更的存儲庫。
是否有可能看到你的git日誌的片段? –
@AshutoshJindal完成。 –
檢查[this](http://stackoverflow.com/questions/8058509/github-how-would-you-delete-all-commits-by-a-certain-username)。您可以刪除特定作者的提交。 – deepakb