3

git rm <file>可以在本地删除文件,从版本控制中删除,并在存储库中删除。git rm --cached <file>几乎相同,但将文件保存在本地工作副本中。

是否有可能从版本控制中删除文件/文件夹(因此忽略其更改)将其保留在存储库中,以便如果有人克隆存储库,该文件也存在,但不能用简单的add&更改commit

4

3 回答 3

1

最简洁的答案是不。这些.gitignore设施仅首先防止文件被跟踪。换句话说,它会阻止文件第一次进入存储库。但是,一旦文件被跟踪,它就会被永久跟踪。将跟踪对该文件的所有更改。

有两种通用解决方案。(1) 避免将该文件添加到索引中。这只是一个政策问题。(2) 将所有这些被忽略的文件放在一个档案中,如UnzipMeRightAfterCloning.zip. 对于进入 repo 的人来说,这是一个额外的步骤,但至少目标文件永远不会被提交。

于 2013-04-03T15:22:18.640 回答
0

已经在 Git 下的文件,您可以使用忽略

git update-index --assume-unchanged filename 

和 unigtore git update-index --no-assume-unchanged 文件名

但是,还有一些有趣的功能,git - 忽略提交的文件并切换分支

于 2013-04-03T14:56:07.230 回答
-1

尝试将文件/文件夹添加到 .gitignore

于 2013-04-03T09:46:45.940 回答