3 回答

TA貢獻1844條經驗 獲得超8個贊
注意!如果您只想從先前的提交中刪除文件,并將其保存在磁盤上,請閱讀上面的juzzlin答案。
如果這是您的最后一次提交,并且您想從本地和遠程存儲庫中完全刪除文件,則可以:
刪除文件 git rm <file>
提交帶有修改標志: git commit --amend
amend標志告訴git再次提交,但是將“ commit”(不是合并兩個分支的意思)與最后一次提交“合并”。
如注釋中所述,git rm此處使用就像使用rm命令本身!

TA貢獻1821條經驗 獲得超5個贊
現有的答案都在談論從上一次提交中刪除不需要的文件。
如果要從舊提交(甚至推送)中刪除不需要的文件,并且不想創建新提交,則由于該操作,這是不必要的:
1。
查找您要文件符合的提交。
git checkout <commit_id> <path_to_file>
如果要刪除許多文件,可以多次執行此操作。
2。
git commit -am "remove unwanted files"
3。
找到錯誤添加了文件的提交的commit_id,在這里說“ 35c23c2”
git rebase 35c23c2~1 -i // notice: "~1" is necessary
該命令根據您的設置打開編輯器。默認值是vim。
將最后一個提交(應為“刪除不需要的文件”)移動到錯誤提交的下一行(在本例中為“ 35c23c2”),并將命令設置為fixup:
pick 35c23c2 the first commit
fixup 0d78b28 remove unwanted files
保存文件后應該會很好。
完成 :
git push -f
如果不幸遇到沖突,則必須手動解決。
- 3 回答
- 0 關注
- 1612 瀏覽
添加回答
舉報