[git]競合、競合の解決
conflict
2つ以上の異なるブランチでは、同じファイルの内容を修正してmergeを行うと衝動的になります.
競合の解決方法
0、衝突状況
<<<<<<< HEAD
Oh.. Here!! From master branch!
=======
Oh.. Here!! From feature branch!
>>>>>>> another-branch
メッセージを実行して出動すると、ファイルにこれらのタグが表示されます.HEADは現在のブランチの内容を表し、もう一方のブランチはHEADではなく他のブランチを表す.
1.手動で解決
このファイルに直接アクセスし、衝突部分のいずれかまたは両方を選択して変更して保存します.
その後git statusをチェックし、以下の手順で操作します.
git add 충돌파일
git merge --contine
これでno-fast-forward mergeが完成します.2.Vscodeで解決
2-1. mergetoolの設定
git config --global -e
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
2-2. 結合
git merge 브랜치
CONFLICT (content): Merge conflict in main.txt
Automatic merge failed; fix conflicts and then commit the result.
git mergetool
3つのオプションのいずれかをクリックして保存します.
・」mergeの副産物・」
vscodeでmergeを行うと、ファイルが生成された
파일명.확장자.orig
ファイルが表示されます.このファイルは、競合が発生したときの内容を含むファイルです.
しかし、このようなファイルを生成するのは面倒なので、以下のコマンドを使用して設定を閉じます.
mergetoolバックアップファイルの保存オプションを閉じる
git config --global mergetool.keepBackup false
またはgit configファイルを開き、次のオプションを追加します.[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
trustExitCode = true
keepBackup = false # 백업파일 생성하지 않도록 옵션 추가.
副産物の削除.orig
コマンドを使用して、生成した副産物ファイルを削除できます.(もちろん、GUIからも簡単に削除できます.)
.orig
命令語は追跡されていないファイルを削除する命令語である.簡単に使う
git clean
削除.オプション)-f:強制削除、-d:ディレクトリの削除
git merge --continue
上のコマンドでmergeを完了します.Reference
この問題について([git]競合、競合の解決), 我々は、より多くの情報をここで見つけました https://velog.io/@younoah/git-conflict-충돌-해결하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol