维基百科称3向合并不像双向合并那样容易出错,而且通常不需要用户干预.为什么会这样?
3向合并成功并且双向合并失败的示例将是有帮助的.
我们有一个临时环境,可以自动将新分支合并到我们的staging分支中,并将我们的网站部署在临时服务器上。
新分支基于我们当前的master分支,然后自动合并staging到git merge -X ours [new branch]. 我们有两个文件想要进行联合合并。这意味着,分支中的所有更改都必须完全复制到文件中。
所以我将这两个文件添加到.gitattributes:
allCampaigns.json merge=union\nf-hero.css merge=union\nRun Code Online (Sandbox Code Playgroud)\n我认为这git merge -X ours适用于除allCampaigns.json和之外的所有文件f-hero.css,但事实并非如此。在 的情况下allCampaigns.json,新的 JSON 会覆盖另一个分支 JSON,在 的情况下git merge -X theirs,并且在 的情况下完全省略git merge -X ours。
只是为了测试,我不想对所有文件进行联合合并,我尝试过,git merge -X union但这给了我一个致命错误:fatal: Unknown option for merge-recursive: -Xunion。
这个,git merge,保留两者,所以问题正是我想要的,但答案是添加我已经完成的merge=union内容.gitattributes,但它不起作用。
我正在使用 git …
在 git repo 的根目录下有一个 .gitattributes 文件。该文件包含以下值:
*.txt text merge=text
*.py text merge=union
Run Code Online (Sandbox Code Playgroud)
merge=text 和 merge=union 有什么区别