Git rollback push,.gitignore - 忽略

时间:2013-01-15 15:30:29

标签: git

我对git有些问题。我有一个带内容的文件.gitignore:

uploads
.htaccess
robots.txt
etc..

我做了:

 git commit -a -m "GIT TEST"

git发送了我的文件:.htaccess和其他(在.gitignore中)。为什么?如何取消此提交? (提交被推送到repo“git push origin master”)

1 个答案:

答案 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}},但同样的警告适用。