当我合并分支时,我试图忽略每个分支之间的web.config
,因为每个分支在web.config中具有不同的配置。
某种原因,它不起作用 我错过了什么吗?
这是我到目前为止所拥有的。
* text=auto
Web.config merge=ours
.gitignore
.gitattributes
project
|____directory
|____directory2
|_____Web.config
我还将merge.ours.driver设置为true:
git config --global merge.ours.driver true
答案 0 :(得分:1)
你几乎在那里,你遗漏了一些小东西 - 标记你想忽略的完全文件。你有大写字母,或者它的权利和嵌套应该是**/web.config
echo 'web.config merge=ours' >> .gitattributes
echo '**/web.config merge=ours' >> .gitattributes
这样做,它会起作用。
答案 1 :(得分:1)
今天我添加了一些新文件并更改了一些文件但是当我在本地合并时,这不起作用。
merge=ours
merge=ours
仅适用于发生冲突的特定文件。如果仅在一个分支中更改文件,然后合并该分支,则不存在冲突(即,没有并发修改)。
换句话说,web.config.master
不是您案例的正确解决方案(无论您是否使用Visual Studio 2015)。
我宁愿:
web.config.mybranch
,web.config
,...),您可以根据需要修改每个文件web.config
。smudge
复制的文件将被忽略并保密。 您的branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
脚本可以通过以下方式确定已签出分支的名称:
{{1}}