よくある失敗とFAQ(Gitチーム開発)

広告

Gitチーム開発シリーズ:なぜGitを使うのか|WinFormsで2人開発を体験する|コンフリクトを体験して解消する|ブランチを体験する|Pull Requestを体験する|よくある失敗とFAQ(今ここ)|[目次へ]


チーム開発の授業でよく起きる失敗と、よくある質問をまとめました。つまずいたときに参照してください。


よくある失敗

2人開発で起きやすい失敗

失敗例対策
Pull を忘れて古いコードを編集してしまう作業開始前に必ず Pull する習慣をつける
同じファイルを同時編集してコンフリクトが起きる役割分担を守る(ロジック担当と画面担当で担当ファイルを分ける)
Form1.Designer.cs を2人で編集してフォームが壊れるフォーム編集は1人に限定する(画面担当のBさんが担当)
data.txt にヘッダ行や空行を入れて読み込みエラーになる1行目から「名前,電話番号」形式。空行は入れない
.NET のバージョン違いで data.txt のパスが合わない@"..\..\data.txt" を実行フォルダの階層に合わせて調整(.NET 5/6/7 では @"..\..\..\data.txt" など)
Bさんが Collaborator の招待に気づかない招待後、Slack などで「招待メールを確認してください」と伝える

コンフリクト体験で起きやすい失敗

失敗例対策
コンフリクトマーカーを残したまま Commit してしまう<<<<<<<>>>>>>> をすべて削除し、残したい内容だけにしてから保存・Commit
「Open in VS Code」で開いて混乱する記事通り、Visual Studio のマージエディターを使う(「表示」→「Git 変更」→ 該当ファイルをダブルクリック)
解消に失敗してやり直したいGitHub Desktop の「Abort merge」または git merge --abort でマージを中止。Pull 前の状態に戻る

2回目・3回目で起きやすい失敗

失敗例対策
Clone 先を分けず、同じフォルダ名が複数あるClone 時に保存先を分ける(例:PhoneBook_Round2PhoneBook_Conflict
パスに日本語を入れて環境によって問題が起きるフォルダ名は英数字のみを推奨

FAQ

2人開発について

Q. Pull を忘れて編集してしまいました。どうすればよいですか?

A. 編集を保存する前に Pull すれば、多くの場合は自動でマージされます。すでに保存して Commit してしまった場合は、Pull を実行するとコンフリクトが発生することがあります。その場合は コンフリクトを体験して解消する の手順で解消してください。


Q. Bさんが Collaborator の招待に気づかない場合は?

A. GitHub の招待はメールで届きます。届いていない場合は、リポジトリの「Settings」→「Collaborators」で招待状態を確認し、必要なら再招待してください。Slack などで「招待メールを確認してください」と伝えるとスムーズです。


コンフリクトについて

Q. コンフリクトが起きたら、どちらの変更を残せばよいですか?

A. 内容によって決めます。どちらか一方を残す、両方残す、または新しい内容を書くこともできます。迷ったらペアで相談して決めてください。


Q. マージを途中でやめたい場合は?

A. GitHub Desktop の「Abort merge」、またはコマンドラインで git merge --abort を実行すると、Pull 前の状態に戻ります。解消に失敗したときの「やり直し」として使えます。


Q. コンフリクトマーカーが複数箇所にある場合は?

A. 1箇所ずつ解消します。<<<<<<<>>>>>>> のブロックごとに、残したい内容を決めてマーカーを削除し、最後にファイル全体を確認してから保存・Commit してください。


2回目以降について

Q. 2回目・3回目で別ペアのリポジトリを Clone するときの注意は?

A. 保存先フォルダ名を変えてください(例:PhoneBook_Round2PhoneBook_Conflict)。同じ名前だと Visual Studio で混同しやすくなります。パスに日本語は入れないことを推奨します。


Q. ソリューション名がかぶって混乱する場合は?

A. Clone 時に「Local path」で保存先を分けると、フォルダ名が変わるため区別しやすくなります。例:PhoneBook_ConflictPhoneBook_Round2


まとめ

  • 作業前は Pull を習慣にする
  • 役割分担 を守り、同じファイルを同時編集しない
  • コンフリクト が起きても、マーカーを削除して解消できる
  • 2回目以降 は Clone 先のフォルダ名を分ける

つまずいたときは、この記事と各回の記事を参照してください。

訪問数 5 回, 今日の訪問数 5回

広告