git rm <file>
可以在本地删除文件,从版本控制中删除,并在存储库中删除。git rm --cached <file>
几乎相同,但将文件保存在本地工作副本中。
是否有可能从版本控制中删除文件/文件夹(因此忽略其更改)将其保留在存储库中,以便如果有人克隆存储库,该文件也存在,但不能用简单的add
&更改commit
?
git rm <file>
可以在本地删除文件,从版本控制中删除,并在存储库中删除。git rm --cached <file>
几乎相同,但将文件保存在本地工作副本中。
是否有可能从版本控制中删除文件/文件夹(因此忽略其更改)将其保留在存储库中,以便如果有人克隆存储库,该文件也存在,但不能用简单的add
&更改commit
?
最简洁的答案是不。这些.gitignore
设施仅首先防止文件被跟踪。换句话说,它会阻止文件第一次进入存储库。但是,一旦文件被跟踪,它就会被永久跟踪。将跟踪对该文件的所有更改。
有两种通用解决方案。(1) 避免将该文件添加到索引中。这只是一个政策问题。(2) 将所有这些被忽略的文件放在一个档案中,如UnzipMeRightAfterCloning.zip
. 对于进入 repo 的人来说,这是一个额外的步骤,但至少目标文件永远不会被提交。
已经在 Git 下的文件,您可以使用忽略
git update-index --assume-unchanged filename
和 unigtore git update-index --no-assume-unchanged 文件名
但是,还有一些有趣的功能,git - 忽略提交的文件并切换分支
尝试将文件/文件夹添加到 .gitignore