githubプロジェクトのリモートマスターブランチを追跡しているローカルマスターブランチを既に取得しています。さて、私の協力者が同じプロジェクトに新しいブランチを作成している、と私はそれに応じて次の操作を実行したい:GitHubで作成された新しいリモートブランチを追跡します
- は、この新しいブランチは、新たにリモートブランチを作成して追跡しますローカル
- 新しいブランチを作成します。
どうすればよいですか?
githubプロジェクトのリモートマスターブランチを追跡しているローカルマスターブランチを既に取得しています。さて、私の協力者が同じプロジェクトに新しいブランチを作成している、と私はそれに応じて次の操作を実行したい:GitHubで作成された新しいリモートブランチを追跡します
どうすればよいですか?
git fetch
git branch --track branch-name origin/branch-name
最初のコマンドは、ローカルリポジトリにリモートブランチがあることを確認します。 2番目のコマンドは、リモートブランチを追跡するローカルブランチを作成します。リモート名はorigin
、ブランチ名はbranch-name
とします。
--track
リモートブランチではデフォルトでこのオプションが有効になっていますが、省略することができます。
これを行うと、私は警告を受け取ります:refname 'branch-name'があいまいです。 – Ultrasaurus
そのブランチ名を持つリモートブランチが1つしかない場合は、 'git checkout
私のリモートブランチの名前は 'remotes/origin/develop'ですか?それはちょうど「起源/発展」であってはなりませんか?これらは同じですか?ありがとう。 –
ブランチがリモートブランチでない場合、ローカルブランチをリモートに直接プッシュできます。
git checkout master
git push origin master
か、のdevの枝
git checkout dev
git push origin dev
を持っているか、リモートブランチが存在する場合
git branch dev -t origin/dev
は、リモートブランチをプッシュする他のいくつかのposibilitesがあるとき。
リモートリポジトリフェッチする必要がまず第一に:あなたは新しいブランチを作成し、必要なリモートブランチを追跡するためにそれを設定することができるよりも
git fetch remoteName
を:
git checkout -b newLocalBranch remoteName/remoteBranch
することができます"git checkout -b"の代わりに "git branch --track"をmaxを指定して使用してください。
git branch --track newLocalBranch remoteName/remoteBranch
リモートブランチを出発点として 'checkout -b'を実行すると、実際に' --track'を使う必要はありません。 –
また、[このコメント](http://stackoverflow.com/questions/11262703/how-to-track-a-new-remote-branch-created-on-github#comment32122710_11262780)で指摘されているように、 'git checkout
既存のローカルブランチを持っていない場合、それは本当にのように単純です:あなたが取得しorigin/feature/Main_Page
と呼ばれる新しいリモート追跡ブランチがある場合
git fetch
git checkout <remote-branch-name>
、ただやります
git checkout feature/Main_Page
これにより、リモートブランチと同じ名前のローカルブランチが作成され、そのリモートブランチが追跡されます。あなたは同じ支店名を持つ複数のリモコンを持っている場合は、あなたが少なく曖昧を使用することができます:あなたはすでにローカルブランチを作って、それを削除したくない場合は
git checkout -t <remote>/<remote-branch-name>
、How do you make an existing Git branch track a remote branch?を参照してください。
'git checkout 1.5-branch'(' remotes/upstream/1.5-branch'は 'git branch -a'の出力にあります)の結果、' error:pathspec '1.5-branch'は既知のファイルと一致しませんでしたこれを 'git checkout upstream/1.5-branch'に変更すると、HEADが分離され、ローカルブランチは作成されません。私は答えのこの部分が単に間違っていると思います。これはgitとあります。2.4.3 –
最初のコマンドはgit 1.9.3で私のために働きます。この動作が変更されている可能性があります。 2番目のコマンドの結果は、私が期待しているものです。 -tを指定しないと、リモート上のその特定のバージョンを見る以外に何もしないことを指定していません。 – kotoole
私は@PiotrDobrogostと同意しますが、私はあなたのステートメント "これは同じ名前のローカルブランチを作成します..."と誤解しています。フェッチ*は(この方法と呼ばれる場合)リモートの各ブランチに対して*リモートトラッキングブランチ*を作成します。つまり、ローカルレポのブランチは、「
git checkout --track -b/も動作します。 –
MLister
...または単に 'git checkout -t/'です。''で終わるリモートトラッキングブランチが1つしかない場合は、 'git checkout'を実行してgitが何を意味するかを推測することもできます。 –
[既存のGitブランチはリモートブランチをどのように追跡するのですか?](http://stackoverflow.com/q/520650/456814)を参照してください。 –