如何以最简方式解决Git Pull Request中.DS_Store文件的合并冲突?
解决Git中.DS_Store文件冲突的极简步骤(从SVN转Git友好版)
嘿,刚从SVN转Git确实会被一堆命令搞懵,尤其是这种莫名其妙的系统文件冲突!别慌,针对.DS_Store这种Mac自动生成的无关文件,直接用你熟悉的「对方版本」思路就能快速搞定,步骤超简单:
第一步:拉取远程最新代码
先确保你的本地分支是最新状态,打开终端切换到项目目录,运行:
git pull origin 目标分支名
(比如你的PR是要合并到main分支,就写git pull origin main)
第二步:直接用对方版本覆盖冲突的.DS_Store
因为.DS_Store完全是系统自动生成的缓存文件,根本不需要手动对比内容,直接用远程分支(也就是你要合并过去的那个分支)的版本替换本地的就行,运行:
git checkout --theirs .DS_Store
这里的--theirs就是Git里对应SVN「对方版本」的参数,完美契合你的习惯!
第三步:提交并推送解决后的版本
冲突解决完后,把这个修改提交:
git add .DS_Store git commit -m "解决.DS_Store文件冲突,使用远程分支版本"
然后推送到你的远程分支:
git push origin 你的分支名
额外建议:彻底杜绝这类冲突
以后别再让.DS_Store出现在Git里了,在项目根目录创建一个.gitignore文件,把下面这行加进去:
.DS_Store
这样Git就会自动忽略所有系统生成的.DS_Store文件,再也不会有这种无意义的冲突啦!
内容的提问来源于stack exchange,提问作者Chen Li Yong
相关产品推荐
相关产品推荐

