这两天用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
.Trashes
Icon?
ehthumbs.db
Thumbs.db
####################################
############# packages #############
####################################
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
保存此文件
然后 你再去看你的 GithubDesktop 原本存在的 .DS_Store 文件 就已经不存在了
当然,如果你的git 根目录下 的 .gitconfig
文件内
还没有和我一样的信息
主要是登记你的邮箱和Github账号名 方便和GitHubDesktop通信
那就在终端添加 git的账号信息
然后你再去重启GithubDesktop 就能看到 .DS_Store 文件相关的信息 都不存在了
恭喜过滤成功
下面是一些参考链接
看不懂的 可以去看看这些