#Gitの基本事項をGitHubで使用する流れの備忘録
##リポジトリを作る
ブランチを切る(今回はtestブランチとする)
masterブランチの内容が複製されたtestブランチが作られる(リモート側で作られる)
リモートで作成完了したtestブランチをローカルにpullする。
testブランチでファイルの内容を修正する(ローカルでの作業)
testブランチでadd→commitする(ここまではローカルでの作業)
testブランチでpushする→pushするとローカルの内容がリモートリポジトリのtestブランチに反映される。
##プルリクエストについて
testブランチで修正した内容をmasterブランチにマージ(統合)したい場合、プルリクエストが必要
testブランチ→masterブランチへプルリクエストを出す
GitHub上のpull requestsタブを選択しマージする
masterブランチへtestブランチでの修正を反映することが出来る。
マージを間違えた時は「revert」ボタンで取り消し可能
##コンフリクトについて
自分の変更をプルリクエストしようとしたら、変更されていて自動ではマージ出来ない時
コンフリクトの例)
GitKrakenを使用。
画像の説明
リポジトリ名(conflict-test)にtest.htmlを作成
test.htmlファイルの入ったdevelopブランチを作成
test.html(developブランチ)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>タイトル</h1>
<h2>サブタイトル</h2>
<h3>内容</h3>
</body>
</html>
developブランチからfeatブランチを作成し以下の内容に修正
test.html(featブランチ)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>タイトル</h1>
<h2>サブちゃん</h2>//ここを修正した
<h3>姉ちゃん</h3>//ここを修正した
</body>
</html>
そしてfeatブランチの内容をadd , commit , pushする
developブランチも内容を修正しpushする
今回はサブタイトルの部分をh2タグ→h3へ変更する
<h1>タイトル</h1>
<h3>サブタイトル</h3>//ここを修正した
<h3>内容</h3>
そしてGitHub上でプルリクエストを
feat→developで実行
すると、、コンフリクト発生!
変更箇所が
<h1>タイトル</h1>
<<<<<<< feat
<h2>サブちゃん</h2>
<h3>姉ちゃん</h3>
=======
<h3>サブタイトル</h3>
<h3>内容</h3>
>>>>>>> develop
このように表示される
上がプルリクエスト元のfeatの記述
下がプルリクエスト先のdevelopの記述
<<<<<< >>>>>>>
で囲われた部分がコンフリクト部分なので、ここを任意の内容に修正して解決する
今回はh2タグをサブちゃん(元はfeatブランチ)とh3タグは内容(元はdevelopブランチ)にして編集する
このように画面上で不要な文字を削除し、修正を完了→Mark as resolvedを選択
commit margeを選択
補足:Delete branchを押すと今回のマージ元のfeatブランチを削除することが可能(削除してもその後同じ場所に出てくるRestor branchを選択すると復元可能)
但し、ローカルブランチのfeatは残ったままなので注意。