TurtoiseGit としましたが、大筋の考え方は TurtoiseSVN も同じです。
多人数で開発している場合、どうしても同じファイルを編集することはあります。
ある日、何気なしにコミット&プッシュすると、エラーが出てしまいました。(というストーリー)
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-87.png)
英語のメッセージに従って、一旦プル(リポジトリから新しい情報を取り込む)します。
すると…。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-88.png)
出ました、競合エラー。
(左下のチェックを入れるとこのメッセージは出なくなりますが、問題解決にはならないので私は出すようにしています)
ファイルには競合を示す黄色い!マークが。この状態を解決しましょう。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-89.png)
競合したファイルの例
リポジトリ
using System; namespace userApplication { public class testClass { void Awake() { funcA(); } void Update() { } void funcA() { Debug.Log("functionA"); } } }
クローン
using System; namespace userApplication { public class testClass { void Awake() { funcB(); } void Update() { } void funcB() { Debug.Log("functionA"); } } }
解決方法
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-90.png)
右クリック > TurtoiseGit > 競合の編集
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-100.png)
左上がリポジトリ、右上がクローンです。
この2つをうまく抜き出して、下の「マージ済み」のコードを完成させます。
(普通にコピペしていきます)
修正が終わったら、マージ済みの方にある?????の行は消すようにしてください。
これを行わないと、完成されたと見なされません。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-93.png)
修正の仕方は状況次第ですが、今回は funcA -> funcB と順番通りにメソッドをコールすればいい、というシナリオです。
完成したら左上の「保存」ボタンを押します。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-94.png)
解決済みを選択
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-95.png)
黄色の!から、いつもの赤の!に変化したのを確認してから、もう一度コミットを選びます。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-96.png)
ビビらせるようなメッセージに、思わず修正を咎められたような気分になりますが、問題はないのでOK。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-97.png)
競合について、メッセージに自動的に記載されています。
コミット&プッシュ。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-98.png)
自動生成されたメッセージをそのままにしていいですか? と聞かれます。
開発プロジェクトの統一ルールで、メッセージがこのままではまずい場合「中止」してメッセージを編集、問題なければ「無視」を押して構いません。
![](https://www.create-forever.games/wp-content/uploads/2021/06/image-99.png)
今度は無事コミット&プッシュに成功しました。