如何从git repo中删除文件?
我已经为git repo添加了一个名为"file1.txt"
的文件。 之后,我犯了这个错误,添加了一个名为dir1
和dir2
目录,并将它们提交给git repo。
现在当前的回购有"file1.txt"
, dir1
和dir2
。
如何删除"file1.txt"
而不影响其他人,如dir1
和dir2
?
使用git rm
:
git rm file1.txt
git commit -m "remove file1.txt"
但是,如果您只想从Git存储库中删除文件,而不是将其从文件系统中删除,请使用:
git rm --cached file1.txt
git commit -m "remove file1.txt"
并推动更改远程回购
git push origin branch_name
git rm file.txt
从repo中删除文件,但也从本地文件系统中删除它 。
要从回购库中删除文件并且不从本地文件系统中删除它,请使用:
git rm --cached file.txt
下面的确切情况是我使用git来维护我公司网站的版本控制的地方,但“mickey”目录是一个tmp文件夹,用于与CAD开发人员共享私人内容。 当他需要巨大的文件时,我创建了一个私人的,未链接的目录,并在那里ftpd文件以供他通过浏览器获取。 忘了我做了这个,后来我从网站的基本目录中执行了一个git add -A
。 随后, git status
显示需要提交的新文件。 现在我需要从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揭秘。 “Pro Git”一书在线,对我有很大的帮助。
如果你的文件已经在GitHub上,你现在(2013年7月)可以直接从Web GUI中删除它!
只需查看存储库中的任何文件,单击顶部的垃圾桶图标,然后像进行任何其他基于Web的编辑一样进行删除。
(提交将反映删除该文件):
就这样,它消失了。
有关这些功能的帮助,请务必阅读我们关于创建,移动,重命名和删除文件的帮助文章。
注意:由于它是一个版本控制系统,因此如果您需要稍后恢复文件,Git总是会回来。
最后一句意味着被删除的文件仍然是历史记录的一部分,您可以轻松恢复它(但尚未通过GitHub网页界面):
请参阅“恢复Git仓库中已删除的文件”。
链接地址: http://www.djcxy.com/p/7835.html