2015-12-14 33 views
0

我只是看着git commit日誌,並且顯然我一直在推動2位作者。所以我有重複。Git推送作爲2位作者

如何刪除所有提交的歷史記錄?我花了一個鐘頭查找信息這樣做,但我不能這樣做git push --force(它被拒絕,非快進)

git log

http://pastie.org/private/fwxzqoin5lhmhwzsxdnnga

+0

是否有可能看到你的git日誌的片段? –

+0

@AshutoshJindal完成。 –

+0

檢查[this](http://stackoverflow.com/questions/8058509/github-how-would-you-delete-all-commits-by-a-certain-username)。您可以刪除特定作者的提交。 – deepakb

回答

0

不能刪除提交但你可以做git reset --hard <hash>到你的出發點。

0

你可以試試下面的命令,但造成的後果(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。我已經在一些虛擬存儲庫上完成了這個工作,但時間很長,而且我相信毫無意義,因爲出於非常好的理由而感到沮喪:這樣做可以打破其他存儲庫。但是,上面的命令應該足夠好,因爲您正在使用個人或低變更的存儲庫。