从Git Repo中删除现有的文件
我想让git停止在我们的仓库中跟踪我的本地开发日志(log / development.log)。 这是可能的,我该怎么做?
只是一次性给出完整的答案:
-
来自klemens:您需要将文件添加到您的
.gitignore
文件上方不需要的文件的回购。 即$ cd $ cat >> .gitignore development.log Cd
-
从m。 narebski:然后你需要通过执行“
git rm --cached <file>
然后提交这个删除文件”
如果您还希望将回购看起来好像从未跟踪过这个文件,那么这个回复就会复杂得多,而且极其灰心,因为它不仅会为您的历史logging中的每一次提交创build全新的提交,从而以一种恶意的方式破坏了互操作性克隆你的回购的其他人之间,但它也留下每一个未经testing的承诺(假设你在提交之前testing你的承诺)。
记住这个警告,如果这是你的目标,你正在寻找的工具是filter-branch
。 第一个例子正是我所描述的。
要停止跟踪文件,只需使用git rm --cached <filename>
。
但正如其他人所指出的那样,将该文件添加到.gitignore可能会阻止您以后再次意外添加该文件。
添加gitignore文件。