これらの行のどれが正しいですか?
git checkout 'another_branch'
または
git checkout origin 'another_branch'
または
git checkout origin/'another_branch'
git checkout 'another_branch'
または
git checkout origin 'another_branch'
または
git checkout origin/'another_branch'
回答:
場合はanother_branch
、すでにローカルに存在し、このブランチにない、そしてgit checkout another_branch
ブランチに切り替わります。
another_branch
存在しないが存在する場合origin/another_branch
、git checkout another_branch
と同等git checkout -b another_branch origin/another_branch; git branch -u origin/another_branch
です。それはの上流に作成another_branch
しorigin/another_branch
て設定origin/another_branch
することですanother_branch
。
どちらも存在しない場合、git checkout another_branch
エラーを返します。
git checkout origin another_branch
ほとんどの場合、エラーを返します。もしorigin
改正され、another_branch
ファイルで、そのリビジョンのファイル出て、それをチェックしますが、おそらくあなたが期待するものではないということ。origin
大部分で使用されgit fetch
、git pull
そしてgit push
リモート、リモートリポジトリのURLのエイリアスとして。
git checkout origin/another_branch
origin/another_branch
存在する場合は成功します。ブランチではなく、デタッチされたHEAD状態になります。新しいコミットを行う場合、新しいコミットは既存のブランチから到達できず、どのブランチも更新されません。
更新:
2.23.0がリリースされたので、git switch
ブランチの作成と切り替えにも使用できます。
foo
存在する場合は、次のように切り替えてみてくださいfoo
。
git switch foo
foo
が存在せず、存在する場合はorigin/foo
、から作成してfoo
からorigin/foo
、次のように切り替えますfoo
。
git switch -c foo origin/foo
# or simply
git switch foo
より一般的には、foo
存在しない場合はfoo
、既知の参照またはコミットから作成してから、次のように切り替えfoo
ます。
git switch -c foo <ref>
git switch -c foo <commit>
リポジトリをGitlabとGithubで同時に維持している場合、ローカルリポジトリには、GitlabとGithubなどの2つのorigin
リモートがある場合がありますgithub
。この場合、リポジトリにはorigin/foo
およびがありgithub/foo
ます。作成する参照またはがわからないため、git switch foo
文句を言うでしょう。必要に応じて、または必要に応じて指定する必要があります。両方のリモートブランチからブランチを作成する場合は、新しいブランチに識別名を使用することをお勧めします。fatal: invalid reference: foo
origin/foo
github/foo
foo
git switch -c foo origin/foo
git switch -c foo github/foo
git switch -c gitlab_foo origin/foo
git switch -c github_foo github/foo
foo
存在する場合は、既知の参照またはコミットからの再作成/強制作成foo
(またはリセットfoo
)を試行してから、次のように切り替えfoo
ます。
git switch -C foo <ref>
git switch -C foo <commit>
これは次と同等です:
git switch foo
git reset [<ref>|<commit>] --hard
既知の参照またはコミットの切り離されたHEADに切り替えてみます。
git switch -d <ref>
git switch -d <commit>
ブランチを作成したいが、ブランチに切り替えたくない場合は、git branch
代わりに使用してください。既知の参照またはコミットからブランチを作成してみてください:
git branch foo <ref>
git branch foo <commit>
git checkout
。私の意見では、このコマンドは多くのことを実行します。そのため、ここには非常に多くの操作モードがあります。ブランチgit checkout
を切り替えるだけだった場合、答えは簡単ですが、ブランチを作成し、ブランチを切り替えずに特定のコミットからファイルを抽出することもできます。
git switch
。ブランチに切り替えるために使用できるようになりました。
git checkout
、最新バージョンでも機能する古いバージョンの代わりに使用します。
gitの別のブランチに切り替える。簡単な答え、
git-checkout-ブランチの切り替えまたは作業ツリーファイルの復元
git fetch origin <----this will fetch the branch
git checkout branch_name <--- Switching the branch
ブランチを切り替える前に、変更されたファイルがないことを確認してください。その場合、変更をコミットするか、隠しておくことができます。
[ git checkout "branch_name"
]
別の言い方です:
[ git checkout -b branch_name origin/branch_name
]
「branch_name」がリモートにのみ存在する場合。
[ git checkout -b branch_name origin/branch_name
]は、リモートが複数ある場合に便利です。
[ git checkout origin 'another_branch'
] に関してこれが可能かどうかはわかりませんが、AFAKでは「fetch」コマンドを使用してこれを実行できます-[ git fetch origin 'another_branch'
]
日常生活で役立つ便利なコマンド:
git checkout -b "branchname" -> creates new branch
git branch -> lists all branches
git checkout "branchname" -> switches to your branch
git push origin "branchname" -> Pushes to your branch
git add */filename -> Stages *(All files) or by given file name
git commit -m "commit message" -> Commits staged files
git push -> Pushes to your current branch
小切手 : git branch -a
ブランチが1つしかない場合。次に、以下の手順を実行します。
git config --list
git config --unset remote.origin.fetch
git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
depth
別のリモートブランチを取得できない理由を知りたい場合に役立ちerror: pathspec 'another_branch' did not match any file(s) known to git
ます。それは確かに元の質問が何であったかではありませんが、他の人がここで頭を悩ますのを助けることができます。
私はこれを使用して、あるブランチを別のブランチに切り替えることができます。それを使用できる人は、魅力のように私のために機能します。
gitスイッチ[branchName]またはgitチェックアウト[branchName]
例:gitスイッチの開発または
gitチェックアウトの開発
git checkout [branch]
この質問にアクセスするほとんどのユーザー向け