如何忽略git中现有的,已提交的文件?

Fra*_*cke 6 git github gitignore smartgit

可能重复:
GIT:忽略版本控制的文件

.gitignoreStackoverflow上有很多答案,但我还没有找到答案:

我有一个现有的git项目,a readme.md和a sample_folder/都在顶层.我确实想从我的git(hub)存储库中删除它们.但我想忽略它们,即在某个克隆的本地存储库(即部署机器)中完全阻止它们.

.gitignore我明白,只是忽略了非承诺文件?坦率地说,我不觉得周围隐藏任何东西(从拉+提交)已经东西致力于...

在Perforce的时代,我会简单地将它从相应的"客户端规范"中排除(这与当地克隆的回购非常接近):

//whatever/myProject
-//whatever/myProject/readme.md
-//whatever/myProject/sample_folder
Run Code Online (Sandbox Code Playgroud)

当然,我可以选择第二个分支,我只需删除自述文件和整个示例文件夹.但是,我必须继续合并来自'develop'的每一个小修复.这是什么,我宁愿避免...我宁愿在(跟踪)分支上更喜欢本地"例外".

此外,我认为git rm --cached每当我做提交(也可能现在发生,然后从我的'部署回购')...

tha*_*era 5

也许我的问题有问题,但是下面的问题不会解决你的问题吗?

git rm --cached readme.md sample_folder/*
echo "readme.md" >>.gitignore
echo "sample_folder/*" >>.gitignore
git commit -am "Untracked some files"
Run Code Online (Sandbox Code Playgroud)


Ada*_*ruk 0

这不是关于 .gitignore 的问题。如果这些不是代码,您应该通过子模块在单独的存储库中跟踪它,并且不要git submodule在服务器上运行任何 commandsh。或者只是在结账后编写在部署计算机上删除这些内容的脚本。