Gitでのよくあるエラー
ブランチを作成せず、マスターブランチ上でコードを書いてしまった
コードを書いている途中にブランチを作成する際は、書いているコードを作成したブランチに引き継ぐか、0からコードを書き直すかを選択できます。
Leave my changes on master 元のブランチで書いていたコードを保留にして、新しいブランチで0からコードを書く選択です。stashが作られます。マスターから作成されたstashed Changes →Restoreをクリックで復旧できます。
Bring my changes to (新しいブランチ名) 元のブランチで書いていたコードを新しいブランチに引き継ぐ選択です。
もしブランチを作成することを忘れてコードを書き進めてしまった場合、ブランチを作成したらBring my changes to (新しいブランチ名)を選択するようにしましょう。そうすると、さきほどの変更修正は新しいブランチへ移動します。
ファイルを同時編集したときの対応方法
コンフリクト(マージできない)
複数人でファイルを編集した場合、意図していないファイルを変種されている場合があります。その場合に片方(後でマージを行うもの)が自身のファイルを編集しなければなりません。
コンフリクトファイルが表示されますので、Resolve conflictsで編集
複数ある場合は1つのファイルを修正後、Mark as resolvedをクリック。その後Commit mergeをクリック。最後にプルをして問題がなければOK
コンフリクトの注意点記載を学ぼう
まず、コンフリクトを発生させないように以下のポイントを把握しましょう。防げるコンフリクトは防いだほうが作業の効率は良くなります。
・ブランチの作成前に、pullを行うこと。
最新のmasterブランチの情報を反映してからブランチを作成しないと、マージする際にコンフリクトの箇所が多くなるためです。
・複数人で開発を行う場合は、打ち合わせを行って作業に取り掛かること。
むやみに同じファイルを編集する作業を同時並行しないことで、コンフリクトを最小限にできます。しかし、やむを得ず作業を同時並行させることもあります。その場合「どこがコンフリクトしそうか」をあらかじめ把握しておくとコンフリクト解消の作業が楽になります。
次に、コンフリクト発生時のポイントを把握しましょう。
・なぜ、コンフリクトが発生したのかを明確にすること。
・同じ原因のコンフリクトを発生させないこと。
・複数人での開発でコンフリクトが発生した場合は、独断で解消しようとせず他のファイル編集者と相談して解消すること。
本章で行ったコンフリクトの解消は、編集内容をどちらともマスターにmergeしましたが、どちらかを削除するパターンもあります。
GitHubとGitHub Desktopを扱う際は、作業の意図を確認して、確実に行いましょう。
誤った情報をpushしてしまった
その時はローカルリポジトリーのヒストリタブの下で任意のcommitを選んでrevertをしましょう。また、VScodeの記述も変更されていることを確認しましょう。
誤った情報をcommitしてしまった
push前ならば、下部にUNDOが出てくるので、それをクリックすればもとに戻せます。