我对git有些问题。我有一个带内容的文件.gitignore:
uploads
.htaccess
robots.txt
etc..
我做了:
git commit -a -m "GIT TEST"
git发送了我的文件:.htaccess和其他(在.gitignore中)。为什么?如何取消此提交? (提交被推送到repo“git push origin master”)
答案 0 :(得分:0)
如果某个文件在git
添加到.gitignore
之前已被跟踪,则不会因为它现在位于.gitignore
而自动被忽略。你需要
git rm --cached .htaccess
git commit
告诉git
停止跟踪该文件。您可以在下一个提交和推送循环中执行此操作,但如果您确实需要修改最近的提交以删除该文件,则可以执行此操作:
git rm --cached .htaccess
git commit --amend
git push -f
(但要注意,如果其他人可能已经取得了"糟糕的"提交 - 这会让他们感到悲伤)。如果有问题的提交不是最近的提交,但是在历史记录中更远,那么您可以使用git filter-branch
完成同样的事情(确切语法的示例应该很容易找到),然后是{ {1}},但同样的警告适用。