git checkout
имеет опции --ours
и --theirs
для получения соответствующих версий во время слияния. Таким образом, вы делаете что-то вроде
git checkout master
git merge mybranch
git checkout --theirs -- *.json
git checkout --ours -- <the-other-files>
git add .
git commit
, где вам придется немного поиграть с оболочкой, чтобы вывести список файлов, которые вы хотите взять из одной или другой ветки. После проверки нужных версий в рабочем дереве add
должен очистить записи конфликтов.
Помните, --ours
- это ветвь, которую вы передали в качестве аргумента начальному checkout
, а --theirs
- это ветвь, который вы передали в качестве аргумента merge
.
Кроме того, перед тем, как позвонить add
, вы можете передумать с помощью --ours
и --theirs
, потому что индекс по-прежнему содержит все версии. Таким образом, вы должны быть в состоянии сделать git checkout --ours -- .
, а затем git checkout --theirs *.json
.