📑
【Git】gitの基本的なフローについて
Gitのフロー
Gitを使いチーム開発をするときの手順の例
-
git log
でHEADの位置、リモート・ローカルの更新状況を確認する。HEAD->main(緑), リモートの同じブランチ(赤)が揃っている。リモートの基幹ブランチの最新状態がローカルにも反映されていることがわかる。
-
git checkout -b feature/branch_name
として「feature/branch_name」という作業ブランチを新規作成し、移動。
のように新しいブランチが横に追加されていればOK - 変更を加え、addし、commit
-
git push origin HEAD
としてリモートにpush。
- Github, Gitlabでプルリクエスト等を作成してレビューをもらう
- マージがOKもらったら基幹ブランチにマージして終了
これを回すのがGitのフロー。とりあえずこの順を守ってフローを回せばOK
Gitの基本操作
ファイルの変更手順
コマンド
- 全てのファイルを登録する
git add -A
- 現在ディレクトリ配下全てを登録する:
git add .
- ファイルを指定する:
git add ファイル名
- コミットする
git commit -m “コミットメッセージ”
リモートとローカル
- リモート:チームで共有する「本番」
- ローカル:リモートから引っ張ってきて作業する「コピー・分身」
コマンド
git pull リモートリポジトリ名 ブランチ名
例
git pull origin main
git push リモートリポジトリ名 ブランチ名
例
git push origin feature/task001
→git push origin main
をする(リモートの基幹ブランチにpushする)のはNG。それを避けるために筆者は
git push origin HEAD
とすることが多い(HEADとすることで今の作業ブランチと同じところにpushできるから)
基幹ブランチと作業ブランチ
- 基幹ブランチ:「本流」のブランチ。(mainとかdevelopとか。あなたの会社やチームが決めたものに従う)
- 作業ブランチ:基幹ブランチから新しく生やして実際の変更をするブランチ(普通はfeature/ブランチ名とする)
上記の例では
- 基幹ブランチの最新コミット「B」に移動する
- 作業ブランチを作って移動する(そこにHEADを移す)
作業開始!
コマンド
- 新しくブランチを作り、移動
git checkout -b ブランチ名
- ただのブランチ移動
git checkout ブランチ名
- ローカルのブランチの確認
git branch
- リモートのブランチの確認
git branch -a
よく使うコマンド
ローカルの変更状況を調べる
git status
コミットのログを調べる
--online
をつけるとより簡単になる
git log
git log --oneline
ローカルの変更をバックグラウンドに残しつつ辞退する
pop
をつけると戻ってくる(popしまくって何個も溜まっても特定のstashを指定して戻す方法もある)
git stash
git stash pop
リモートのURLを確認する
git remote -v
豆知識
- エイリアスでコマンドを楽にする→エイリアスの設定方法
- rebaseでコミットログを綺麗にする→rebaseについて
Discussion