#はじめに
GitHubを使用していると、よく起こる困ったことを解消するために、まとめておこうと思います。
下記記述以外にも、気づいた時に追記していく予定です。
#よくある困ったときの対処法
#####ブランチを切り忘れ、マスターブランチ上で、コードを記述してしまったとき
1.ブランチを作成する
※今回は、ゲストユーザー機能というブランチ名で作成しています
コードの編集履歴が存在する状態で、ブランチを作成すると下記のPopupが表示されます。
2.Bring my changes to 「ブランチ名」を選択し、「Switch Branch」をクリックする。
※「Leave my changes on master」を選択した場合、元のブランチ(今回はmaster)でコードを保留にして、作成したブランチで0からコードを記述することができます。
#####commitをし忘れて続けて別ファイル、別の箇所のコードを記述してしまったとき
1.下記矢印先のチェックボックスをcommitするファイルのみを選択してcommitする(チェックボックスを外すと、commitの対象から外れます)
2.通常通りcommitして完了
#####チーム開発時などに別の人と同じファイルの編集を行い、マージできないとき
######コンフリクト
コンフリクトとは、あるファイルにおいてブランチ毎に辻褄が合わなくなってしまっている現象のこと
例えば、Aさんがアーティスト一覧画面の作成を行う際に、ブランチを切ってコントローラーに「index」の内容記述を行い、Bさんがアーティスト作成画面の作成を行う際に、ブランチを切ってコントローラーに「new」内容記述を行うと、Aさんのブランチには「new」がなく、Bさんのブランチには「index」がない状態が発生してしまう。このような現象をコンフリクトと言います。
このような状態である場合の時、先にAさんがマージを行うと、Bさんがマージできなくなってしまいます。
######コンフリクト解消方法
通常通りマージを行おうとすると下記のような画面が表示されます
1.上記画面内矢印先の「Resolve conflicts」をクリック
下記画面が表示されます。①はコンフリクトが発生しているファイルを表示、②は実際にコンフリクトが発生している箇所(ブランチ毎に差異がある部分)が表示されます。
2.②の内容編集を行う(通常通り編集できるのであるべき記述に直しましょう!)
※ <<<<<<<<<<コンフリクトA(ブランチ名) ←記述変更とともにこの部分は削除
コンフリクトAの記述内容が表示される
masterの記述内容が表示される
/※ >>>>>>>>>>master ←記述変更とともにこの部分は削除
4.上記矢印先の「Commit marge」をクリック
5.通常通りマージを行い完了!
さいごに
GitHubでは、コード管理を行っているので、いつもと違う!?となっても慌てず、一つずつ対処していきましょう!
大事なコードが消えてしまったなんて悲しいことが起こらぬよう注意しましょう!!←(自分への言い聞かせ)