.gitignore上一个新的回购(无法重置新的回购)

时间:2012-06-25 19:04:32

标签: git

几乎每次我创建一个新的回购时都会发生这种情况。

  1. 开始一个新项目。创建一堆新文件。
  2. git init
  3. git add .
  4. 哦,拍摄,我需要忽略一些IDE / build cruft。
  5. echo ".scons-nodecount" > .gitignore
  6. 该死,.gitignore没有看到它,因为此文件已被添加。
  7. git reset .scons-nodecount
  8. 该死,git reset不起作用,因为还没有提交。

    ......不知道该怎么办,所以......

  9. 重新开始:rm -rf .git

  10. - 编辑 -

    如何在新的回购中删除索引中的文件? git reset是我传统上做的,但如果没有事先提交,似乎不允许这样做。

3 个答案:

答案 0 :(得分:5)

我一直在做同样的事情。试试git rm --cached .scons-nodecount。这将指示Git删除文件,但仅限于索引(--cached)。

答案 1 :(得分:2)

如果您不想使用git rm --cached手动删除所有文件,只需重置整个索引的另一种方法就是删除.git/index。这将重置所有内容而不实际触摸文件,因此您无需重新开始。

但当然git rm --cached <file>就是你经常做的事情。

答案 2 :(得分:0)

最好配置全局模板并将IDE模式写入$ GIT_DIR / info / exclude,因此在每个init上,您将拥有IDE的排除模式,或者只使用所有项目的公共文件并指定core.excludesfile为了它。