3 回答

TA貢獻1794條經驗 獲得超8個贊
git rm file.txt
從repo中刪除文件,但也從本地文件系統中刪除它。
要從repo中刪除文件而不從本地文件系統中刪除它,請使用:git rm --cached file.txt
下面的確切情況是我使用git維護我公司網站的版本控制,但“mickey”目錄是一個tmp文件夾,用于與CAD開發人員共享私人內容。當他需要巨大的文件時,我創建了一個私有的,未鏈接的目錄和ftpd文件,供他通過瀏覽器獲取。忘了我做了這個,后來我git add -A
從網站的基目錄中執行了一個。隨后,git status
顯示需要提交的新文件?,F在我需要從git的跟蹤和版本控制中刪除它們......
下面的示例輸出來自我剛剛發生的事情,我無意中刪除了該.003
文件。值得慶幸的是,我不關心本地副本發生了什么.003
,但其他一些當前更改的文件是我剛剛對網站進行的更新,并且將在本地文件系統上刪除史詩!“本地文件系統”=實時網站(不是很好的做法,但卻是現實)。
[~/www]$ git rm shop/mickey/mtt_flange_SCN.7z.003
error: 'shop/mickey/mtt_flange_SCN.7z.003' has local modifications
(use --cached to keep the file, or -f to force removal)
[~/www]$ git rm -f shop/mickey/mtt_flange_SCN.7z.003
rm 'shop/mickey/mtt_flange_SCN.7z.003'
[~/www]$
[~/www]$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: shop/mickey/mtt_flange_SCN.7z.003
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: shop/mickey/mtt_flange_SCN.7z.001
# modified: shop/mickey/mtt_flange_SCN.7z.002
[~/www]$ ls shop/mickey/mtt_flange_S*
shop/mickey/mtt_flange_SCN.7z.001 shop/mickey/mtt_flange_SCN.7z.002
[~/www]$
[~/www]$
[~/www]$ git rm --cached shop/mickey/mtt_flange_SCN.7z.002
rm 'shop/mickey/mtt_flange_SCN.7z.002'
[~/www]$ ls shop/mickey/mtt_flange_S*
shop/mickey/mtt_flange_SCN.7z.001 shop/mickey/mtt_flange_SCN.7z.002
[~/www]$
[~/www]$
[~/www]$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: shop/mickey/mtt_flange_SCN.7z.002
# deleted: shop/mickey/mtt_flange_SCN.7z.003
#
# Changed but not updated:
# modified: shop/mickey/mtt_flange_SCN.7z.001
[~/www]$
更新:這個答案正在獲得一些流量,所以我想我會提到我的其他Git答案分享了幾個很棒的資源:這個頁面有一個圖形,幫助我揭開Git神秘面紗。在“臨Git的”一書是在網上,并幫助了我很多。

TA貢獻1843條經驗 獲得超7個贊
如果您的文件已經在GitHub上,您現在(2013年7月)可以直接從Web GUI中刪除它!
只需查看存儲庫中的任何文件,單擊頂部的垃圾桶圖標,然后像任何其他基于Web的編輯一樣提交刪除。
然后git pull
在你的本地倉庫上“ ”,這也將在本地刪除該文件。
這使得這個答案成為一種從git repo刪除文件的方法(迂回)?
(且不說在GitHub上一個文件是在“混帳回購協議”)
(提交將反映刪除該文件):
就這樣,它已經消失了。
有關這些功能的幫助,請務必閱讀有關創建,移動,重命名和刪除文件的幫助文章。
注意:由于它是一個版本控制系統,如果您以后需要恢復文件,Git總會退縮。
最后一句意味著刪除的文件仍然是歷史記錄的一部分,您可以輕松地恢復它(但尚未通過GitHub Web界面):
請參閱“ 在Git倉庫中恢復已刪除的文件 ”。
- 3 回答
- 0 關注
- 1143 瀏覽
添加回答
舉報