2010-07-31 75 views
0

我半認識到這個問題可能已經被問到了,但我並不熟悉這個術語,而且我需要一個很容易遵循的答案,或許對我的特殊需求有點太特殊。如何從過去的git提交到github.com中刪除對象文件?

我忘了刪除目標文件,然後執行git add -A。然後,我掃描了一些man頁面,並使用某種交互模式,並在嘗試刪除了一些目標文件之後。

然後,我執行git push origin master將文件上傳到github.com上的遠程服務器。它變成了三次提交。

所以我最後的四次提交包括:

  • 0)在過去犯下這是罰款和花花公子。
  • 1)提交目標文件加代碼更改
  • 2)刪除目標文件的提交。
  • 3)添加.gitignore文件(某人在一個月前發送給我)中的提交。

基本上我想要在0之後有一個提交,它的差異應該顯示所有的變化,除了那些該死的目標文件的任何證據。我該如何做,如果可能的話,請嗎?

回答

2

在本地,使用git rebase --interactive或您的git工具來選擇喜歡它的歷史記錄。然後使用git push origin master -f來強制你的主版本進入github倉庫。

請注意,修改已發佈的歷史記錄意味着您必須找到已經吸引修改過的更改並指導他們獲得新修改的人員,如果他們已經完成了更新他們。

+0

感謝它的工作。其他人已經提出修改後的修改應該不存在任何問題 - 這是一個早期Alpha邊緣Beta階段的小型業餘愛好項目。 – 2010-07-31 17:44:40