Gitコマンド「branch」「fetch」よく使うオプションまとめ
2020/10/17
Gitのブランチに関するコマンドgit branchと、リモートリポジトリのデータを取得するGitコマンドgit fetchについて。
git branch
ブランチ一覧を表示する
ローカルリポジトリに存在するブランチリストを表示する。*マークがついているブランチが現在チェックアウトしているブランチとなる。
❯ git branch
* master
test-aオプションをつけることで、リモート追跡ブランチを含んだブランチ一覧を表示する。
❯ git branch -a
* master
test
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test※remotesとはリモート追跡ブランチのこと。
参考:Git で「追跡ブランチ」って言うのやめましょう - Qiita
※remotes/origin/HEAD -> origin/masterとはリモート追跡リポジトリのデフォルトのブランチがorigin/masterになっているという意味。
例えば、git checkout -b test originは、git checkout -b test origin/masterと同じ意味となる。
ブランチを作成する
git branch <任意のブランチ名>で、現在のHEADを起点にして、指定した名前のローカルブランチを作成する。
❯ git branch develop同時にチェックアウトも行う場合は、git checkout -b <任意のブランチ名>となる。
❯ git checkout -b developブランチを削除する
-dオプションで、現在チェックアウトしているブランチにマージされているローカルブランチを削除できる。
❯ git branch -d develop--mergedオプションで、現在チェックアウトしているブランチにマージされているローカルブランチを確認できる。
❯ git branch --merged
* master
develop ## developブランチはmasterにmergeされているので-dオプションで削除できる現在チェックアウトしているブランチにマージされていないローカルブランチを削除する場合は-Dオプションを使う。
❯ git branch -D featureリモート追跡ブランチを削除する場合は、-drオプションをつける。
❯ git branch -dr origin/develop※リモートリポジトリのブランチを削除する場合は、git push --delete origin <ブランチ名>となる。
❯ git push --delete origin featuregit fetch
リモートリポジトリの全ての状態を取得
リモートリポジトリの最新の状態を、ローカルリポジトリのリモート追跡ブランチに同期する。
❯ git fetch引数を省略した場合、リモートリポジトリのすべての状態を取得する。
リポジトリをクローンしたときには、リモートリポジトリに対して自動的に
originという名前がつけられます。
※引用: Git - リモートでの作業
なため、その場合は以下2つのコマンド内容は同じである。
❯ git fetch
❯ git fetch --all
❯ git fetch originリモートリポジトリの指定ブランチの状態のみを取得
git fetch <リモートリポジトリ名> <リモートリポジトリブランチ名>と指定することで、指定ブランチの状態のみを取得することができる。
❯ git fetch origin master不要なリモート追跡ブランチを削除する
git branch -drコマンドでリモート追跡ブランチを削除できるが、git fetch --pruneコマンドを用いることによって、リモートリポジトリで削除されたブランチに対応する追跡ブランチをまとめて削除することができる。
❯ git fetch --prune
❯ git fetch -p ## 省略形参考
- Git でローカルとリモート両方のブランチを削除する方法 - yu8mada

- Git の Fetch コマンドの使い方 - yu8mada

- Gitでローカルブランチ・リモートブランチを削除する方法 | WWWクリエイターズ

- git branch コマンド - Qiita

- いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita
