如何从Git存储库中删除那些烦人的Mac OS X.DS_Store文件?
当前回答
使用git rm删除它们,然后将.DS_Store添加到.gitignore以阻止它们再次被添加。你也可以使用bluegravest来阻止它们一起被创造出来
其他回答
步骤1
这将删除目录(包括子目录)中的每个.DS_Store文件
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
步骤2
将此添加到.gitignore以防止根目录和每个子目录中的任何DS_Store文件进入git!
**/.DS_Store
从git文档中:
前导“**”后接斜杠表示所有目录中的匹配。例如,“**/foo”与任何位置的文件或目录“foo”匹配,与模式“foo“相同。“**/foo/bar”匹配直接位于目录“foo”下的文件或目录“bar”。
使用git rm删除它们,然后将.DS_Store添加到.gitignore以阻止它们再次被添加。你也可以使用bluegravest来阻止它们一起被创造出来
我发现snipplr的下面一行在擦除所有.DS_Store方面做得最好,包括一个具有本地修改的行。
find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print
--cached选项,保留本地.DS_Store,因为它无论如何都会被复制。
正如上面提到的,将.DS_Store添加到项目根目录的.gitignore文件中。那么它将不再在你的视线中(回购)。
我必须将上面的git rm更改为git rm才能使其工作:
find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print
在某些情况下,您可能还需要全局忽略某些文件。对我来说,.DS_Store就是其中之一。以下是操作方法:
git config --global core.excludesfile /Users/mat/.gitignore
(或您选择的任何文件)
然后像repo的.gitignore一样编辑文件。注意,我认为必须使用绝对路径。
推荐文章
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 我如何确定文件编码在OS X?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 错误:无法在ARM处理器上的Homebrew中安装英特尔默认前缀(/usr/local)
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在Mac OS X上哪里安装Android SDK ?
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据