チーム開発でよく使うGitのコマンド一覧

beautiful forest
2023-09-18
2023-10-09

はじめに

チーム開発でよく使うGitのコマンド一覧をメモも兼ねて書いておく。

なおGit以外の環境としてはbashを前提とする。

OSがWindowsであってもWSLを利用したりGit for WindowsのGit Bashを利用したりすれば、簡単にbash環境は得られるはずなのでコマンドプロンプトでの例は記載しない。

チーム開発でよく使う

Gitの運用方法としてはgit-flowがベースになっていると想定する。

リベース元の変更履歴をコミット単位で残しつつブランチを最新化する

git checkout [最新化したいブランチ]
git rebase [特定のブランチ名]
  • 最新化という目的ではgit mergeも同じだが、mergeは変更履歴が一つにまとまってしまうのでrebase利用が多い。
  • 実際のブランチの動きについては検索して画像を見てもらったほうが正確だが、簡単にイメージでいうとrebaseは最新化したいブランチのコミットをリベース元のブランチに置き直す(re-base)感じ。

コミットメッセージをそのままに、最後のコミットを変更する

git commit --amend --no-edit
  • あくまでも小さな変更に限るが、1つのプルリクエスト(PR)には1つのテーマ:コミットという方法を取る際には作業を適宜コミットしつつそれでいて履歴を一つにまとめることが必要になるので。
  • 一応、git rebaseコマンドでも複数のコミットをまとめることも出来るが、意図せずコミットが複数になったのでもない限りは訳があってのコミット粒度のはずなので、あまり使わない。

おまけ:個人開発でもよく使う操作

LocalRepo.に残ったRemoteRepo.のmainにマージされたブランチを一括削除する

git fetch
git branch --merged main
git checkout main
git branch --merged main | grep -v "\*" | grep -v "develop" | xargs git branch -d
  • 1, 2個めのコマンドは確認用
  • 2: mainブランチにマージ済みのブランチを表示する。GitHubの場合、デフォルトのブランチはmainなのでここではmainを指定している。
  • 4: 2個めで確認したブランチを一括削除する。
    • grep -v "\*": "\*"で現在のブランチ(この場合main)を除外する
    • xargs git branch -d: -dでマージ済みの場合のみブランチを削除する

新しいブランチを作成して、そのブランチに切り替える

git checkout -b [ブランチ名]

  • ブランチを切って開発を進めるというgit-flowの流れ上、新しくブランチを切ったら移動するのが基本なので

おわりに

また何か他にもこれ使うなあというのがあったら更新する予定。

© 2023 ryomazone.dev