GitHub でホストされているプロジェクトがあります。 1 台のコンピューターにブランチを作成し、次のようにして変更を GitHub にプッシュしました。
git push origin branch-name
今、私は別のコンピューターを使っていて、そのブランチをダウンロードしたいです。そこで、次のことを試しました:
git pull origin branch-name
...しかし、これによって行われたのは、マスター ブランチを新しいブランチの変更で上書きしただけです。
既存のブランチを上書きせずにリモート ブランチを適切にプルするには、何をする必要がありますか?
ベストアンサー1
おかげで関連する質問リモート ブランチを新しいローカル ブランチとして「チェックアウト」し、新しいローカル ブランチ名を指定する必要があることがわかりました。
git checkout -b newlocalbranchname origin/branch-name
または、次の操作を行うこともできます。
git checkout -t origin/branch-name
後者は、リモート ブランチを追跡するように設定されたブランチを作成します。
更新:この質問を最初に投稿してから 5 年が経ちました。それ以来、多くのことを学び、git も改善されました。私の通常のワークフローは今では少し異なります。
リモート ブランチを取得したい場合は、次のコマンドを実行するだけです。
git pull
これにより、すべてのリモート ブランチが取得され、現在のブランチがマージされます。次のような出力が表示されます。
From github.com:andrewhavens/example-project
dbd07ad..4316d29 master -> origin/master
* [new branch] production -> origin/production
* [new branch] my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
これで、git は新しい を認識しましたmy-bugfix-branch
。このブランチに切り替えるには、次のコマンドを実行するだけです。
git checkout my-bugfix-branch
通常、チェックアウトする前にブランチを作成する必要がありますが、git の新しいバージョンでは、このリモート ブランチのローカル コピーをチェックアウトする必要があることを認識できるほどスマートです。