如何从Git存储库中删除那些烦人的Mac OS X.DS_Store文件?
当前回答
使用此命令删除现有文件:
find . -name '*.DS_Store' -type f -delete
然后将.DS_Store添加到.gitignore
其他回答
我参加晚会有点晚了,但我有一个好答案。要删除.DS_Store文件,请在终端窗口中使用以下命令,但要非常小心地使用“find”删除文件。在-name选项中使用特定名称是更安全的使用方法之一:
cd directory/above/affected/workareas
find . -name .DS_Store -delete
如果您想简单地在前后列出它们,可以省略“-delete”。这会让你放心,他们走了。
关于~/.gitignore_global建议:请注意这里。你想把这个漂亮的文件放在每个工作区的顶层并提交它,这样任何克隆您的repo的人都将从中受益。
从存储库中删除现有的.DS_Store文件:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
添加此行:
.DS_Store
到文件.gitignore,该文件可以在存储库的顶层找到(如果文件还不存在,则创建该文件)。您可以在顶部目录中使用以下命令轻松完成此操作:
echo .DS_Store >> .gitignore
然后将文件提交到repo:
git add .gitignore
git commit -m '.DS_Store banished!'
将此添加到文件中。gitignore
#Ignore folder mac
.DS_Store
保存并提交
git add -A
git commit -m "ignore .DS_Store"
现在你忽略了这一切
在某些情况下,您可能还需要全局忽略某些文件。对我来说,.DS_Store就是其中之一。以下是操作方法:
git config --global core.excludesfile /Users/mat/.gitignore
(或您选择的任何文件)
然后像repo的.gitignore一样编辑文件。注意,我认为必须使用绝对路径。
我必须将上面的git rm更改为git rm才能使其工作:
find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print
推荐文章
- 如何禁用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项目使用外部回购子模块?