🚀
よく使うGitコマンド
前書き
今や開発でGit操作は必須です。
私は転職前はまともに触ってなかったので、転職して恐る恐るコマンド操作の日々を送っております。
似たような境遇の方もいるかもしれないので、これだけあれば最低限戦えるというコマンド操作をまとめました。
mainの更新
基本的にこれでOK
# mainに入る
git switch main
# remoteの変更分を取得、更新
git pull origin main
git pull origin mainで上書きできないローカルの変更を戻したい場合
# origin(リモートに接続)
git fetch origin
# ローカルのmainをリモートのmainに強制的に変更
git reset --hard origin/main
branch作成
基本的に自分が新たな作業に取り掛かるときに使用
(mainブランチから作成する場合)
# mainに移動
git switch main
# "branch_name"というブランチを作成
git branch <branch_name>
# branchを移動
git switch <branch_name>
branch名の変更
# 変更したいbranchに移動
git switch <branch_name>
# 新しいbranch名を指定
git branch -m <new_branch_name>
リモートbranchの取得
他人のコードレビューや動作確認をローカルで実施する時に使用
(他開発メンバーがmainブランチから作成している場合)
# mainに移動
git switch main
# mainを更新
git pull origin main
# ローカルに同じ名前のbranchを作成
git branch <branch_name>
# branchを移動
git switch <branch_name>
# origin(リモート)からbranchを取得
git pull origin <branch_name>
branch削除
# mainに移動
git switch main
# branchの削除
git branch -d <branch_name>
# branchの削除(merge状態問わず)
git branch -D <branch_name>
branch一括削除
# mainに移動
git switch main
# main以外のbranchを一括で削除
git branch | grep -v "main" | xargs git branch -d
# main以外のbranchを一括で削除(merge状態問わず)
git branch | grep -v "main" | xargs git branch -D
最新のmainを自身のbranchに反映する場合
# 反映するbranchに移動
git switch <branch_name>
# 自身のbranch内の変更分をキューに入れる
git stash
# mainに移動
git switch main
# mainの内容を最新にする
git pull origin main
# 反映するbranchに移動
git switch <branch_name>
# mainを取り入れる
git merge main
# キューに入れていた変更分を戻す
git stash pop
変更の確定
# 変更したいfile達を選択
git add file_name1
git add file_name2
...
git add file_name_n
# コメントと共に変更の確定
git commit -m "コメント"
最新のコミットのコメント変更
git commit --amend -m "変更後のコメント"
直前のcommitの取り消し
git reset --soft 'HEAD^'
push(リモートに変更を送信)
# pushするbranchに移動
git switch <branch_name>
# push
git push origin <branch_name>
おまけ: Please enter a commit message to explain why this merge is necessaryが表示された場合
1. escボタンをクリック
2. :wq
3. enterボタンをクリック
※branchの切り替え操作は役割が明確という理由で"switch"コマンドを使用しています。
参考
・switchコマンドの推奨
・branch名の変更
Discussion