經過一些玩遙控器後,我結束了所有的提交翻倍。例如。而不是Git刪除重複提交
C3107
..
C3
C2
C1
我
C3107
C3107
..
C3
C3
C2
C2
C1
C1
一倍哪裏有提交相同的名稱,但不同的哈希值。問題是我注意到它太晚了,沒有在它上面增加一大堆提交。
有沒有辦法刪除重複的提交,而不是我添加的鬆散的提交?
P.S .:如果在我使用遙控器進行實驗之前,我將擁有一個存儲庫副本。
非常感謝。
UPDATE許多人在這裏問的是如何結束這樣的:我有一個回購R1,然後我創建了另一個R2。在我的R1本地副本中,我將R1的起源更改爲R2,並試圖推送,但一些大文件被github拒絕。所以我做了git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename'
這讓git認爲存儲庫是不同的。然後我全部推到R2做了一些提交,並決定再次切換回R1改變原點並推送。然後我給R1增加了一些提交。
默認情況下,Git不允許真正重複的提交,即提交相同的樹和前一個。你是否將'--allow-empty'傳遞給'git commit'? –
更新了我的問題,並提供了有關如何擰緊回購的詳細信息。 –
我有同樣的問題。我懷疑這是由自動合併提交造成的。我使用以下命令來解決它(擺脫合併提交併保留提交之前和之後的提交,但提交者和提交日期將由於創建新提交而更新):'git checkout -b tmpBranchBeforeErrorMerge oldHashBeforeErrorMerge; git rebase --onto tmpBranchBeforeErrorMerge oldHashBeforeErrorMerge headLastestHash; git branch -b new_master; git branch -d master; git分支-D tmpBranchBeforeErrorMerge; git branch -m new_master master; git push -v --set-upstream origin master:master -f' – samm