🚀

よく使うGitコマンド

2024/03/29に公開

前書き

今や開発でGit操作は必須です。
私は転職前はまともに触ってなかったので、転職して恐る恐るコマンド操作の日々を送っております。
似たような境遇の方もいるかもしれないので、これだけあれば最低限戦えるというコマンド操作をまとめました。

masterの更新

基本的にこれでOK

# masterに入る
git switch master
# remoteの変更分を取得、更新
git pull origin master

”git pull origin master”で上書きできないローカルの変更を戻したい場合

# origin(リモートに接続)
git fetch origin
# ローカルのmasterをリモートのmasterに強制的に変更
git reset --hard origin/master

branch作成

基本的に自分が新たな作業に取り掛かるときに使用
(masterブランチから作成する場合)

# masterに移動
git switch master
# "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の取得

他人のコードレビューや動作確認をローカルで実施する時に使用
(他開発メンバーがmasterブランチから作成している場合)

# masterに移動
git switch master
# masterを更新
git pull origin master

# ローカルに同じ名前のbranchを作成
git branch <branch_name>
# branchを移動
git switch <branch_name>
# origin(リモート)からbranchを取得
git pull origin <branch_name>

branch削除

# masterに移動
git switch master
# branchの削除
git branch -d <branch_name>
# branchの削除(merge状態問わず)
git branch -D <branch_name>

最新のmasterを自身のbranchに反映する場合

# 反映するbranchに移動
git switch <branch_name>
# 自身のbranch内の変更分をキューに入れる
git stash
# masterに移動
git switch master
# masterの内容を最新にする
git pull origin master
# 反映するbranchに移動
git switch <branch_name>
# masterを取り入れる
git merge master
# キューに入れていた変更分を戻す
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コマンドの推奨
https://envader.plus/article/300
https://blog.inductor.me/entry/git-checkout-deprecation
https://zenn.dev/gibjapan/articles/bbdaf8173f21c9
https://qiita.com/yukibear/items/4f88a5c0e4b1801ee952

・branch名の変更
https://qiita.com/suin/items/96c110b218d919168d64

Goals Tech Blog

Discussion