サーチ…
構文
-
git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
-
git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
-
git branch --unset-upstream [<branchname>]
-
git branch (-m | -M) [<oldbranch>] <newbranch>
-
git branch (-d | -D) [-r] <branchname>…
-
git branch --edit-description [<branchname>]
-
git branch [--color[=<when>] | --no-color] [-r | -a] [--list] [-v [--abbrev=<length> | --no-abbrev]] [--column[=<options>] | --no-column] [(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>] [--points-at <object>] [<pattern>…]
パラメーター
パラメータ | 詳細 |
---|---|
-d、--delete | ブランチを削除します。ブランチはアップストリームブランチで完全にマージする必要があります。また、アップストリームが--track または--set-upstream --track で設定されていない場合はHEAD |
-D | --delete --force ショートカット |
-m、--move | ブランチと対応するreflogの移動/名前変更 |
-M | --move --force ショートカット |
-r、--remotes | リモートトラッキングブランチを一覧表示または削除する(-dとともに使用する場合) |
-a、--all | リモート追跡ブランチとローカルブランチの両方を一覧表示する |
- リスト | リストモードを有効にします。 git branch <pattern> はブランチを作成しようとしますが、 git branch --list <pattern> を使って一致するブランチをリストします |
--set-upstream | 指定されたブランチがまだ存在しない場合や--force が指定されている場合、 --track まったく同じように--track ます。そうでなければ、ブランチを作成するときに--trackのような設定を行いますが、ブランチのポイントは変更されません |
備考
すべてのgitリポジトリには、1つ以上のブランチがあります。ブランチは、一連のコミットのHEAD
への名前付き参照です。
git repoには現在のブランチがあります( git branch
コマンドで出力されたブランチ名のリストに*
が付いています) git commit
コマンドで新しいコミットを作成すると、新しいコミットは現在のブランチのHEAD
になります。前のHEADは新しいコミットの親になります。
新しいブランチは、新しいブランチに何かがコミットされるまで、作成されたブランチと同じHEAD
を持ちます。
支店の一覧表示
Gitは、ブランチをリストするための複数のコマンドを提供します。すべてのコマンドは、 git branch
の機能を使用します。これは、コマンドラインにどのオプションが置かれているかに応じて、特定のブランチのリストを提供します。可能ならば、Gitは現在選択されているブランチの隣に星があることを示します。
ゴール | コマンド |
---|---|
ローカルブランチを一覧表示する | git branch |
ローカルブランチを詳細に表示する | git branch -v |
リモートおよびローカルブランチの一覧表示 | git branch -a OR git branch --all |
リモートおよびローカルブランチを一覧表示する(詳細) | git branch -av |
リモートブランチを一覧表示する | git branch -r |
最新コミットを使用してリモートブランチを一覧表示する | git branch -rv |
マージしたブランチを一覧表示する | git branch --merged |
結合されていないブランチを一覧表示する | git branch --no-merged |
コミットを含むブランチを一覧表示する | git branch --contains [<commit>] |
注 :
- 追加の追加
v
する-v
例えば、$ git branch -avv
または$ git branch -vv
にも上流分岐の名前を印刷しますが。 - 赤色で表示されているブランチは、リモートブランチです
新しいブランチの作成とチェックアウト
新しいブランチを作成するには、現在のブランチに留まりながら、次のようにします。
git branch <name>
一般的に、支店名にスペースを含めると記載されている他の仕様が適用されてはいけませんここ 。既存のブランチに切り替えるには:
git checkout <name>
新しいブランチを作成してそれに切り替えるには:
git checkout -b <name>
現在のブランチ(HEADとも呼ばれます)の最後のコミット以外のポイントにブランチを作成するには、次のコマンドのいずれかを使用します。
git branch <name> [<start-point>]
git checkout -b <name> [<start-point>]
<start-point>
は、gitが知っている任意のリビジョン (例えば、別のブランチ名、SHAコミット、HEADやタグ名などのシンボリックリファレンス)でもかまいません。
git checkout -b <name> some_other_branch
git checkout -b <name> af295
git checkout -b <name> HEAD~5
git checkout -b <name> v1.0.5
リモートブランチからブランチを作成するには、 <remote_name>
ます(デフォルトの<remote_name>
は起点です)。
git branch <name> <remote_name>/<branch_name>
git checkout -b <name> <remote_name>/<branch_name>
特定のブランチ名が1つのリモートでしか見つからない場合は、
git checkout -b <branch_name>
これは
git checkout -b <branch_name> <remote_name>/<branch_name>
場合によっては、最近のコミットのいくつかを新しいブランチに移動する必要があるかもしれません。これは次のように分岐して "ロールバック"することで実現できます。
git branch <new_name>
git reset --hard HEAD~2 # Go back 2 commits, you will lose uncommitted work.
git checkout <new_name>
このテクニックの説明を次に示します。
Initial state After git branch <new_name> After git reset --hard HEAD~2
newBranch newBranch
↓ ↓
A-B-C-D-E (HEAD) A-B-C-D-E (HEAD) A-B-C-D-E (HEAD)
↑ ↑ ↑
master master master
ローカルにブランチを削除する
$ git branch -d dev
変更が別のブランチとマージされ、失われない場合は 、 dev
という名前のブランチを削除します。 dev
ブランチに、まだマージされていない、失われた変更が含まれている場合、 git branch -d
は失敗します。
$ git branch -d dev
error: The branch 'dev' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev'.
警告メッセージに従って、 -D
フラグを使用して、ブランチを強制的に削除することができます(そのブランチでの結合されていない変更は失われます)。
$ git branch -D dev
リモートブランチを追跡する新しいブランチをチェックする
リモートブランチのorigin/feature
を追跡する新しいブランチfeature
を作成するには、次の3つの方法がありorigin/feature
。
-
git checkout --track -b feature origin/feature
、 -
git checkout -t origin/feature
、 -
git checkout feature
- ローカルfeature
ブランチがなく、feature
ブランチを持つリモートが1つしかないと仮定します。
リモートブランチを追跡するようにアップストリームを設定するには、次のように入力します。
-
git branch --set-upstream-to=<remote>/<branch> <branch>
-
git branch -u <remote>/<branch> <branch>
ここで:
-
<remote>
は、origin
、develop
またはユーザーが作成したもの、 -
<branch>
は、リモートで追跡するユーザーのブランチです。
ローカルブランチがどのリモートブランチを追跡しているかを確認するには:
-
git branch -vv
ブランチの名前を変更する
チェックアウトしたブランチの名前を変更します。
git branch -m new_branch_name
別のブランチの名前を変更する:
git branch -m branch_you_want_to_rename new_branch_name
現在の作業ディレクトリにある1つのファイルを別のブランチから上書きする
チェックアウトされたファイルは、このファイルで行ったコミットされていない変更を上書きします。
このコマンドはfile.example
ファイル(ディレクトリpath/to/
あります )をチェックアウトし、このファイルに行った変更を上書きします。
git checkout some-branch path/to/file
some-branch
何もすることができtree-ish
のgitに知られている(参照リビジョンの選択とgitrevisions詳細については)
あなたは追加する必要があります--
パスの前に、あなたのファイルが(そうでない場合はオプション)ファイルと間違われる可能性があります。 --
後にオプションを指定することはできません。
git checkout some-branch -- some-file
2番目のsome-file
はこの例のファイルです。
リモートブランチを削除する
origin
リモートリポジトリのブランチを削除するには、Gitバージョン1.5.0以降で使用できます
git push origin :<branchName>
Gitバージョン1.7.0以降では、リモートブランチを削除することができます
git push origin --delete <branchName>
ローカルのリモート追跡ブランチを削除するには:
git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter
git fetch <remote> --prune # Delete multiple obsolete tracking branches
git fetch <remote> -p # Shorter
ブランチをローカルに削除する。結合が変更されていない場合、ブランチは削除されません。
git branch -d <branchName>
ブランチを削除するには、変更がマージされなくても:
git branch -D <branchName>
孤立したブランチ(すなわち、親コミットのないブランチ)を作成する
git checkout --orphan new-orphan-branch
この新しいブランチで行われる最初のコミットには親がなく、それは他のすべてのブランチとコミットから完全に切り離された新しいヒストリーのルートになります。
ブランチをリモートにプッシュする
ローカルブランチで作成したコミットをリモートリポジトリにプッシュするために使用します。
git push
コマンドは2つの引数をとります:
- リモート名(例:
origin
- ブランチ名(
master
例えば:
git push <REMOTENAME> <BRANCHNAME>
たとえば、 git push origin master
を実行して、ローカルの変更をオンラインリポジトリにプッシュします。
-u
( --set-upstream
短縮形)を使用すると、プッシュ中にトラッキング情報が設定されます。
git push -u <REMOTENAME> <BRANCHNAME>
デフォルトでは、 git
はローカルブランチを同じ名前のリモートブランチにプッシュします。たとえば、 new-feature
という名前のローカルがある場合、ローカルブランチをプッシュすると、リモートブランチnew-feature
も作成されます。あなたがリモートブランチに別の名前を使用したい場合は、で区切って、ローカルの支店名の後にリモート名を追加:
:
git push <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME>
現在のブランチHEADを任意のコミットに移動する
ブランチはコミットを指すポインタなので、自由に動かすことができます。ブランチがコミットaabbcc
を参照するようにするには、コマンドを発行します
git reset --hard aabbcc
これによりブランチの現在のコミットが上書きされることに注意してください。このコマンドを実行すると、作業が緩くなる可能性があります。そのような場合は、 reflogを使用して、失われたコミットを回復できます。現在のコマンドではなく、新しいコマンドラインでこのコマンドを実行することをお勧めします。
ただし、このコマンドは、リベースやその他の大きな履歴変更を行う場合に特に便利です。
直前のブランチへのクイックスイッチ
あなたはすぐに前のブランチに切り替えることができます
git checkout -
支店での検索
特定のコミットまたはタグを含むローカルブランチを表示するには
git branch --contains <commit>
特定のコミットまたはタグを含むローカルおよびリモートブランチを一覧表示するには
git branch -a --contains <commit>