[解決済み] リモートのGitブランチをチェックアウトするには?
質問
というブランチをプッシュしました。
test
で
git push origin test
を共有リポジトリにコピーします。を持つブランチを見ることができます。
git branch -r
.
今度はリモートをチェックアウトしようとしています。
test
ブランチを作成します。
試してみました。
-
git checkout test
何もしない -
git checkout origin/test
与える* (no branch)
. これは紛らわしいですね。どうすれば、quot;no branch"になるのでしょうか?
リモートの Git ブランチをチェックアウトするには?
解決方法は?
リモートリポジトリが1つ設定されているか、複数設定されているかによって、回答が分かれています。その理由は、リモートが1つの場合、あいまいな部分が少なくなるため、いくつかのコマンドを簡略化することができるからです。
Git 2.23用に更新しました。 それ以前のバージョンについては、末尾のセクションをご覧ください。
リモート1台で
どちらの場合も、まずリモートリポジトリから取得し、最新の変更がすべてダウンロードされていることを確認します。
$ git fetch
これで、すべてのリモートブランチを取得してくれます。これでチェックアウト可能なブランチを確認できます。
$ git branch -v -a
...
remotes/origin/test
で始まる枝は
remotes/*
は、リモートブランチの読み取り専用コピーと考えることができます。ブランチで作業するには、そのブランチからローカルブランチを作成する必要があります。これを行うには、Gitコマンドの
switch
(Git 2.23 以降) にリモートブランチの名前 (リモート名を除いたもの) を指定します。
$ git switch test
この場合、Git は推測で動いています(次のコマンドで無効にすることができます)。
--no-guess
) は、同じ名前のリモートブランチをチェックアウトして追跡しようとしているのだと思います。
複数リモートの場合
複数のリモートリポジトリが存在する場合、リモートリポジトリの名前を明示的に指定する必要があります。
前回と同様に、リモートの最新の変更点を取得することから始めます。
$ git fetch origin
これで、すべてのリモートブランチを取得してくれます。これでチェックアウト可能なブランチを確認できます。
$ git branch -v -a
リモートブランチを手に入れたら、次は興味のあるブランチを
-c
を実行して、新しいローカルブランチを作成します。
$ git switch -c test origin/test
を使用する場合の詳細については
git switch
:
$ man git-switch
また、下の画像は、フェッチの仕組みやプルとの違いを共有するために作成したものです。
Git 2.23より前のバージョン
git switch
は、Git 2.23 で追加されたもので、これ以前は
git checkout
は、ブランチの切り替えに使用されていました。
リモートリポジトリを1つだけにしてチェックアウトすること。
git checkout test
複数のリモートリポジトリが設定されている場合、少し長くなります。
git checkout -b test <name of remote>/test
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】以下の追跡されていないワーキングツリーファイルは、マージによって上書きされますが、私は気にしません。
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?
-
[解決済み] [Solved] 作業ツリーのディレクトリ 'example.com' を作成できませんでした。パーミッションが拒否されました
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] ERROR: リモートレポ 'origin' のクローン作成に失敗しました。
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] git でディレクトリ階層が異なる 2 つのブランチをマージするには?
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?