はじめに
エンジニアになる前から自己学習として GitHub を使っていましたが、
実際にチーム開発を始めると、個人学習ではあまり意識していなかった操作や手順で戸惑うことがありました。
この記事では、Git初心者の私がチーム開発で最初に困ったことと、その解決方法をまとめています。
① pull でコンフリクト発生
困ったこと
- git pullしたらエラーが出る
- ファイルに <<<<<<< などの記号が出てくる
解決方法
コンフリクト箇所を手動で修正して再度コミットを行う
git add .
git commit
② コミットを上書きしたい
困ったこと
- コミットメッセージを間違えた
- コミットし忘れたファイルがある
解決方法
直前のコミットを上書きする
※すでにリモートに push したコミットに対して amemd すると履歴が書き換わるので注意が必要
git commit --amend
③ コミットを別ブランチに移動させたい
困ったこと
- 別ブランチでコミットしてしまった
解決方法
cherry-pickを使ってコピーする
git log # 間違ったブランチでのコミットIDを確認
git checkout 正しいブランチ # 正しいブランチに切り替える
git cherry-pick コミットID # コミットをコピー(cherry-pick)
※元のブランチに反映されたら、間違ったブランチのコミットを削除
push していなければ → git reset --hard HEAD^
push 済みであれば → git revert
④ 編集中のままブランチを移動したい
困ったこと
- mainに戻ってpullしたい
- しかしコミットしていない変更があり、ブランチを切り替えられない
解決方法
git stash # 変更を一時保存
git switch main # mainへ移動
git pull # 最新を取得
git switch 元のブランチ
git stash list # 一時保存されているものを確認
git stash pop # 変更を戻す
⑤ やり直し系(reset)
困ったこと
- 変更をなかったことにしたい
- コミットを取り消したい
- addした状態を戻したい
解決方法
git reset # addを取り消す
git reset --soft HEAD~1 # commitだけ取り消す
git reset --hard HEAD~1 # commitも変更も削除(注意)
最後に
Git は便利なツールですが、使い始めは誰でも戸惑うことがあります。
この記事では、私自身がチーム開発で経験した小さな失敗や学びを整理しました。
少しでも同じように悩んでいる方の参考になれば幸いです。
※ この記事は新人研修の一環です