我尝试从git存储库中删除不必要的文件。该文件最初被添加,现在他们在几个分支。我想要的只是停止跟踪文件中的更改,我不在乎应该保留哪些更改,但是我需要该文件保留在文件系统上。git从存储库中删除文件,但将其保留在文件系统上
我尝试以下
git filter-branch --index-filter "git rm --cached --ignore-unmatch file_to_remove" HEAD
但是从文件系统删除的文件是什么不必要的。
我尝试从git存储库中删除不必要的文件。该文件最初被添加,现在他们在几个分支。我想要的只是停止跟踪文件中的更改,我不在乎应该保留哪些更改,但是我需要该文件保留在文件系统上。git从存储库中删除文件,但将其保留在文件系统上
我尝试以下
git filter-branch --index-filter "git rm --cached --ignore-unmatch file_to_remove" HEAD
但是从文件系统删除的文件是什么不必要的。
刚:
git rm --cached file [file ...]
当然,你需要确保有问题的文件被添加到您的.gitignore
所以它们不会马上重新提出
我想从存储库中从所有分支完全删除它们。当我像你说的那样,文件停止被跟踪,但我不能切换分支,git说'需要文件级别的合并。留在分支
如果你想保留的文件在资源库中,你可以使用:
git update-index --assume-unchanged <fileName>
这使得在索引文件的当前版本,但你可以改变这一切你想和Git会忽略这些茶nges。
我发现他的方法只是作为一种**临时解决方法。您将被禁止检出文件内容与当前分支不同的另一个分支。 –
签出并运行git clean为每个分支。
git的清洁 - 通过递归删除不在版本控制下的文件,从当前目录开始从工作树
清理工作树移除未跟踪文件。
我通常复制文件之前运行该命令的地方。在git删除它们之后,我将它们添加到.gitignore,然后将副本移回。 –
嗯,好的破解。我没有想过它 –
@misha你想停止跟踪它们,还是将它们从存储库中完全删除?你在你的问题中说一个,在另一个评论中说另一个。 – Andy