1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitでよく使うユースケース別コマンドチートシート

1
Posted at

ブランチ作成時

新しいブランチを作成してリモートに紐づけてpushする基本の流れです。
-u を付けることで、以降は git pull だけで動くようになります。

git checkout -b <branch>
git push -u origin <branch>

追跡設定(既存ブランチ)

-u なしでpushしたブランチに後から追跡設定を行う方法です。

# 現在のブランチに追跡を設定
git branch --set-upstream-to=origin/<branch> <branch>

# 追跡未設定のブランチを一覧確認
git branch -vv | grep -v '\[origin'
# ※ `: gone]` と表示されているものはリモート削除済みを示す

mainの変更を他ブランチに反映

mainブランチで行った変更を他のブランチに取り込む方法です。

# merge(シンプル)
git checkout <branch>
git merge main

# rebase(履歴をきれいに保ちたい場合)
git checkout <branch>
git rebase main

# article/ ブランチをまとめてmerge(競合が出た場合はそこで停止)
git branch | grep 'article/' | xargs -I{} sh -c 'git checkout {} && git merge main'

リモート削除済みブランチの掃除

リモートで削除されたブランチをローカルからも整理する方法です。

# リモートの削除情報を取得(origin/xxx の参照が消える。ローカルブランチは残る)
git fetch --prune

# リモート削除済みのブランチを一覧確認
git branch -vv | grep ': gone]'

# リモート削除済みのブランチを一括削除
git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -d

# マージ済みブランチを一括削除
git branch --merged main | grep -v '^\*\|main\|master' | xargs git branch -d

ローカルのみのブランチ削除

リモートに存在しない、ローカルだけのブランチを削除する方法です。

# マージ済みを削除
git branch -d <branch>

# 未マージでも強制削除
git branch -D <branch>

worktreeの管理

git worktreeの一覧確認・削除・掃除の方法です。

# 一覧確認
git worktree list

# 特定のworktreeを削除
git worktree remove <path>

# 存在しないworktreeの参照を掃除
git worktree prune

# main以外を一括削除(未コミットがある場合は --force が必要。変更は消えるので注意)
git worktree list | grep -v 'bare\|main\|master' | awk '{print $1}' | xargs -I{} git worktree remove {}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?