How to get 3-way merge in GIT on non-conflict merges?

前端 未结 2 1948
忘掉有多难
忘掉有多难 2020-12-17 02:56

How to disable auto-merging in GIT?

The purpose is to have the same behaviour as for conflict merges resolution in automatic merges during invocatio

2条回答
  •  别那么骄傲
    2020-12-17 03:52

    For changes that were made only on one side or the other, you can prevent automatic merges by unsetting the merge attribute (see gitattributes under “Performing a three-way merge”). A merge made for a pathname that lacks the merge attribute (or has it set to “binary”) will leave the version from the current branch in the working tree and leave the index entry for the pathname in a conflicted state.

    If you want to encourage everyone to work this way, you can put in into a .gitattributes file and commit it. If you only want to do this for yourself, you can put it in an uncommited .gitattributes files or put it in your repository's $GIT_DIR/info/attributes file (which you could add/remove/rename at will to enable/disable the attribute).

    #    repository/.git/info/attributes
    # OR
    #    .gitattributes
    * -merge
    

    If an identical change is made on both sides, even this configuration will not cause a conflict.

提交回复
热议问题