我有一个已经初始化的Git存储库,我添加了一个.gitignore文件。我如何刷新文件索引,以便忽略我想要忽略的文件?
当前回答
我发现了一个奇怪的问题。gitignore。一切都很到位,看起来很正确。我的.gitignore被“忽略”的唯一原因是,行结尾是Mac格式(\r)。因此,在保存了具有正确行结尾的文件(在vi中使用:set ff=unix)之后,一切都变得非常迷人!
其他回答
我遵循了这些步骤
git rm -r --cached .
git add .
git reset HEAD
之后,git删除所有应该忽略的文件(在我的例子中是*.swp)。
如果需要停止跟踪大量被忽略的文件,可以组合一些命令:
git ls files-i--排除标准|xargs-L1 git rm--缓存
这将停止跟踪被忽略的文件。如果您想从文件系统中删除文件,请不要使用--cached选项。您还可以指定文件夹来限制搜索,例如:
git-ls文件-i--排除标准--${FOLDER}| xargs-L1 git rm
我遇到的另一个问题是我放置了一个内联注释。
tmp/* # ignore my tmp folder (this doesn't work)
这行得通
# ignore my tmp folder
tmp/
这里没有提到的另一个问题是,如果你已经在Windows记事本中创建了.gitignore,我发现它在其他平台上看起来像是胡言乱语。关键是确保在记事本中将编码设置为ANSI(或者像我一样在linux上创建文件)。
根据我的回答:https://stackoverflow.com/a/11451916/406592
对于像我这样的迟钝的人,还有一个建议:)将.gitignore文件放到存储库根目录中,而不是放到.git文件夹中。干杯
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别