我希望 Git 停止跟踪我们的存储库中的本地开发日志 (log/development.log)。这是否可能?如果可以,如何实现?
我希望 Git 停止跟踪我们的存储库中的本地开发日志 (log/development.log)。这是否可能?如果可以,如何实现?
为了一次性给出完整的答案:
klemens的建议:你需要将文件添加到你的.gitignore
文件中,在不想要的文件上面的某个位置。例如:
$ cd $ cat >> .gitignore development.log C-d
m. narebski的建议:然后,你需要通过执行"git rm --cached <file>
"来从版本库中删除该文件,然后提交此操作以完成删除。
如果你还希望使版本库看起来好像从未追踪过该文件,则更为复杂,而且强烈不建议这样做,因为它不仅会为历史记录中的每个提交创建全新的提交,从而在其他克隆了你的版本库的人之间以一种非常恶劣的方式破坏互通性,而且它还会使每个提交都未经测试(假设你在提交之前进行测试)。
在考虑这一点的同时,如果这是你的目标,你需要的工具是filter-branch
。第一个示例正是我所描述的。
git rm --cached <filename>
。添加gitignore文件。
.gitignore
里的条目不适用于已经被追踪的文件。 - CB Baileygit rm --cached <file>
然后提交这个删除操作。 - Jakub Narębski