使用GithubDesktop 过滤 .DS_Store 文件导致多人协作冲突的问题[图/文]

来源:互联网 发布:恺英网络招聘 编辑:程序博客网 时间:2024/06/06 10:03

这两天用GithubDeskTop 和同事同步代码的时候 出现了这个样一个问题
这里写图片描述
出现了 .DS_Store 的文件

首先大家都知道这是 系统的描述文件 就是这个文件push到git以后,导致和同事的代码

冲突

来一起解决吧

0.如何看到这个文件

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO

记得重启Finder

网路上我也找了各种解决办法 比如

1.删除这个 .DS_Store 文件 在终端敲如下命令

1.  cd 你的项目路径2.  find . -name '*.DS_Store' -type f -delete

可是,这个文件其实在你删除以后 还是会不断的重新自动生成,

2.如何禁止自动生成?

于是,我打算禁止他自动生成 于是 有这个代码

defaults write com.apple.desktopservices DSDontWriteNetworkStores true 

到此为止,以上全是做了无用功

于是,既然删除不掉,那么 ,不如在git上传的时候 过滤之

网路上还是有很多方法的 ,但是 那么一堆代码敲的甚是蛋疼

其实搞明白了还是很简单的 只要在你的项目里添加一个文件 就可以过滤

1. cd 你的项目文件夹路径2. $ mkfile -n 1kb .gitignore

打开你创建的 .gitignore 文件

贴入如下代码

# .gitignore_global############################################ OS generated files ############################################.DS_Store.DS_Store?*.swp._*.Spotlight-V100.TrashesIcon?ehthumbs.dbThumbs.db################################################# packages #################################################*.7z*.dmg*.gz*.iso*.jar*.rar*.tar*.zip

保存此文件

然后 你再去看你的 GithubDesktop 原本存在的 .DS_Store 文件 就已经不存在了

当然,如果你的git 根目录下 的 .gitconfig 文件内

这里写图片描述

还没有和我一样的信息

这里写图片描述
主要是登记你的邮箱和Github账号名 方便和GitHubDesktop通信

那就在终端添加 git的账号信息

这里写图片描述

然后你再去重启GithubDesktop 就能看到 .DS_Store 文件相关的信息 都不存在了

恭喜过滤成功

下面是一些参考链接

看不懂的 可以去看看这些

在Mac系统中如何显示和隐藏文件

让 Git 全局性的忽略 .DS_Store

如何删除GIT中的.DS_Store

转一篇Mac OS下不产生.DS_Store 隐藏文件

0 0
原创粉丝点击