如何从Git存储库中删除那些烦人的Mac OS X.DS_Store文件?
当前回答
如果要将DS_Store文件删除到每个文件夹和子文件夹:如果已提交DS_Store:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
通过以下方式忽略它们:
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
其他回答
如果您无法删除这些文件,因为它们有暂存的更改,请使用:
git rm --cached -f *.DS_Store
打开终端并键入“cd<ProjectPath>”
删除现有文件:查找-name.DS_Store-print0|xargs-0 git rm-f--忽略取消匹配nano.git忽略添加此.DS_Store键入“ctrl+x”类型“y”输入以保存文件git-add.gitignoregitcommit-m'.DS_Store已删除。'
我参加晚会有点晚了,但我有一个好答案。要删除.DS_Store文件,请在终端窗口中使用以下命令,但要非常小心地使用“find”删除文件。在-name选项中使用特定名称是更安全的使用方法之一:
cd directory/above/affected/workareas
find . -name .DS_Store -delete
如果您想简单地在前后列出它们,可以省略“-delete”。这会让你放心,他们走了。
关于~/.gitignore_global建议:请注意这里。你想把这个漂亮的文件放在每个工作区的顶层并提交它,这样任何克隆您的repo的人都将从中受益。
初始化存储库时,跳过包含
-u
这不应该是个问题。
在某些情况下,您可能还需要全局忽略某些文件。对我来说,.DS_Store就是其中之一。以下是操作方法:
git config --global core.excludesfile /Users/mat/.gitignore
(或您选择的任何文件)
然后像repo的.gitignore一样编辑文件。注意,我认为必须使用绝对路径。
推荐文章
- 如何禁用Git凭证管理器的Windows?
- Git 拉取与 Git 变基
- 在git中压缩提交是什么意思?
- 在Mac上安装MySQL后,使用ALTER USER语句重置MySQL root密码
- my.cnf文件在macOS上的位置
- 在GIT中合并2个分支
- git标签也会被推送吗?
- 嵌套的Git存储库?
- 如何从Mac OS X上卸载MySQL ?
- Git bash错误:无法fork子进程:没有可用的终端(-1)
- 有没有办法在SourceTree中获得两个分支的视觉差异?
- Git标记是否只应用于当前分支?
- Git分支:master vs. origin/master vs. remotes/origin/master
- 如何根据文件扩展名过滤git差异?
- 如何设置一个git项目使用外部回购子模块?