我有一个已经初始化的Git存储库,我添加了一个.gitignore文件。我如何刷新文件索引,以便忽略我想要忽略的文件?
当前回答
我不太清楚“回答”命令是什么意思,所以我运行了它,这让我非常沮丧。它递归地从git repo中删除每个文件。
Stackoverflow救援。。。如何还原“git rm-r”?
git reset HEAD
做到了这一点,因为我有未提交的本地文件,我不想覆盖这些文件。
其他回答
我遵循了这些步骤
git rm -r --cached .
git add .
git reset HEAD
之后,git删除所有应该忽略的文件(在我的例子中是*.swp)。
是的。gitignore系统只忽略当前不受git版本控制的文件。
也就是说,如果您已经使用gitadd添加了一个名为test.txt的文件,那么将test.txt添加到.gitignore仍然会导致跟踪对test.txt的更改。
您必须首先获取rm test.txt并提交更改。只有这样,才会忽略对test.txt的更改。
如果.gitignore似乎没有忽略未跟踪的文件,还需要记住的一点是,您不应该在忽略的行上有注释。所以这没关系
# ignore all foo.txt, foo.markdown, foo.dat, etc.
foo*
但这行不通:
foo* # ignore all foo.txt, foo.markdown, foo.dat, etc.
.gitignore将后一种情况解释为“忽略名为“foo*#忽略所有foo.txt、foo.markdown、foo.dat等”的文件,当然,您没有。
我不太清楚“回答”命令是什么意思,所以我运行了它,这让我非常沮丧。它递归地从git repo中删除每个文件。
Stackoverflow救援。。。如何还原“git rm-r”?
git reset HEAD
做到了这一点,因为我有未提交的本地文件,我不想覆盖这些文件。
我遇到的另一个问题是我放置了一个内联注释。
tmp/* # ignore my tmp folder (this doesn't work)
这行得通
# ignore my tmp folder
tmp/
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?
- 如何移除SSH密钥?