【发布时间】:2014-02-14 01:35:15
【问题描述】:
我需要从合并错误中排除 dist/ 文件夹,我不在乎它是 theirs、ours 还是其他策略,但我需要将其保留在修订控制中,因为这是部署到 Heroku。 .gitattributes 脚本似乎是要走的路。但我似乎无法完成这项工作。
我读到了这个canonical answer 和这个similiar answer,但不知道我做错了什么。
我的.gitattributes 配置:
* text=auto
dist/ merge=keepMine
我.git/config的相关部分:
[merge "keepMine"]
name = always keep mine dist during merge
driver = keepMine.sh %O %A %B
和keepMine.sh(在我的项目根文件夹中,没有文件夹不在路径中,但是复制到路径中的文件夹没有帮助,也不是一个好的解决方案,因为脚本应该是修订控制,以便所有开发人员都能获得它):
# copied as is from the SO answer
# I want to keep MY version when there is a conflict
# Nothing to do: %A (the second parameter) already contains my version
# Just indicate the merge has been successfully "resolved" with the exit status
exit 0
编辑: 还尝试了git config merge.keepMine.driver true,如上述 SO 答案之一中所建议的那样。没用。
但我仍然遇到合并错误(如果我创建它们),例如在 dist/styles/sdkasl.main.css 中。
我做错了什么?感谢您的帮助。
【问题讨论】:
-
我充其量只是一个 git 新手,但过去几天我一直在关注这个问题,希望能找到解决您问题的方法。你解决了吗?如果没有,也许How to make git ignore a directory while merging 可以提供帮助?
-
@ChronoKitsune 这是另一个问题,我不想进行手动合并(该答案会有所帮助)而是自动合并..
-
我刚刚尝试了您描述的内容,它对我有用。您能否使用失败合并的输出更新您的问题?例如。 GIT_TRACE=2 git 合并 ...
-
请发布
git check-attr --all dist/styles/sdkasl.main.css的输出 -
这不应该是 .gitattributes 文件中的
dist/**吗?