1人でコンフリクトを起こせたよ!
前編では、ローカルに複数のリポジトリを作成してコンフリクトを発生させました。今回はこの競合をなんとか解決してみます。
やり方
私が試してうまくいった方法です。
- GitHub のメッセージを確認する
- repo2でリモートの最新情報を取得する
- コンフリクトを確認する
- コンフリクトを解決する
- プッシュ
1. GitHub のメッセージを確認する
2. repo2でリモートの最新情報を取得する
git fetch origin
git checkout -b repo3 origin/repo2
git pull origin master
3. コンフリクトを確認する
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<<<<<<< HEAD
<title>repo2で変更</title>
=======
<title>repo1で変更</title>
>>>>>>> fd8288737f01811db08acc272912e88daa83c84b
</head>
<body>
</body>
</html>
4. コンフリクトを解決する
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>repo2で変更</title>
</head>
<body>
</body>
</html>
git add
git commit -m "コンフリクトを解決"
git checkout master
git merge repo3
5. プッシュ
git push origin master
まとめ
コンフリクト自体は解決しました。が、たぶん正しい方法ではないと思います。なぜかGitHub のステップに従っても解決しませんでした。
もっと、きれいに解決できる方法があったら教えてください。