如何使用gitignore更正远程GitHub存储库?

时间:2015-10-19 14:06:17

标签: eclipse git github

我使用Eclipse作为本地开发人员,使用GitHub作为我的远程git repo。 Eclipse在我的远程仓库中生成了一些我不想要的工件,但我忘了将它们添加到我的.gitignore文件中。我将所有内容推送到远程GitHub仓库并意识到以下项目被推送(再次,无意中):

myapp/
    <lots of other stuff>
    .classpath    --> undesired
    .settings     --> undesired
    .project      --> undesired
    bin/          --> undesired

所以我回去并将以下内容添加到我的.gitignore

# Eclipse
.classpath
.project
.settings
bin/

然后我承诺&amp;推。令我惊讶的是,文件仍在我的远程仓库中。我原本期望以下行为:

  1. 我将.gitignore更改推送到GitHub
  2. GitHub发现其myapp个回购邮件中的文件违反了新.gitignore的条款
  3. GitHub从repo中删除这些文件/目录
  4. 现在当我在GitHub上myapp时,我再也看不到它了
  5. 不是的情况吗?这里的解决方法是什么?

1 个答案:

答案 0 :(得分:0)

Git不会在每次提交时解析.gitignore文件,当然,也不会将.gitignore中的更改应用到提交中的整个存储库。

所以你需要手动删除文件(git rm)。

如果您需要在文件系统上使用此文件,请使用git rm --cached