2015-04-23 129 views
0

說我的存儲庫是2提交背後的原因,我還沒有提交我的更改。Git提交併推送存儲庫原樣(不合並)不破壞歷史

我知道這兩個遠程提交是「垃圾」,我想提交併推送我的存儲庫,完全處於它現在的狀態。但是,我想要做一個乾淨的「合併」,忽略與我的存儲庫中不同的所有內容,即刪除不在我當前目錄中的文件,並忽略可能存在的任何遠程更改。通過這種方式,可以清楚地看到我已經「恢復」的最後兩次提交中的哪些更改。

從本質上講,我想要做一個強制推動,而不會離開我未支持的兩個提交。

我如何做到這一點?

回答

2

如果您試圖在不恢復提交歷史記錄的情況下執行此操作,則可以隱藏您的更改,拉遠程,還原兩個「垃圾」提交,從存儲提交更改,然後壓縮恢復提交進入你的提交。

+0

這聽起來很不錯。我會盡快找到一個可行的例子(並接受答案)。謝謝。 – jkgeyti

1

您可以使用git revert來撤消這兩個提交中的更改,同時仍然跟蹤它們。

趕上原點,恢復兩次提交,然後提交您的更改。

0

拉動遙控器,將頭重置爲2提交前,添加您的文件,提交和推送。

+0

這不會「沒有破壞歷史」。除非在推送時使用'--force'選項,否則它也不起作用。 – Chris