5

git fetch <remote>リモートブランチはで使用できるため、を実行するという考えを理解していますgit checkout <remote>/<branch>

しかし、実行しただけではどのように機能しますか

git fetch path/to/other/repo

対応するブランチをチェックアウトするにはどうすればよいですか?操作は(を使用しても)サイレントに実行--verboseされ、新しいブランチは作成されないことに注意してください。

編集:明確にするために:私はgitがリモコンでどのように機能するかを完全に理解しています。git fetch path/to/remoteこの代替構文、またはに興味がありますgit fetch <url>。それはどのように機能するはずですか?なぜ新しいブランチを作成しないのですか?詳細モードでもサイレントに実行されるのはなぜですか?使用目的は何ですか?

4

3 に答える 3

2

ファイルシステムの観点から「ローカル」であっても、別のリポジトリはリモートリポジトリです。

使用する場合は、最初にリモートリポジトリとして追加します(URLがローカルの場合でも)。

git remote add <name> <url>

次に、git fetchリモートマシンのリポジトリと同じ方法で(およびその他のコマンド)を続行します。

編集:ローカルパスから 単純git fetch化すると、と呼ばれる新しい疑似ブランチが作成されFETCH_HEADます。たとえば、次を使用して、新しいブランチでチェックアウトできます。

git checkout -b new_branch FETCH_HEAD
于 2010-09-30T09:47:32.780 に答える
1

最良の説明(ドキュメントよりもはるかに優れている)は、JakubNarębskiによる別の質問への回答だと思います。

基本的に:

git fetch <path>

リモートのブランチをフェッチし、HEADローカルにに保存するだけFETCH_HEADです。

git fetch <path> <branch>

リモートリポジトリでブランチをフェッチし、に保存しFETCH_HEADます。

より高度な使用法はJakubNarębskiの回答に記載されていますが、彼自身が述べているように、フェッチする最良の方法は名前付きリモコンを使用することです。

于 2010-09-30T14:11:14.417 に答える
0

リモートブランチを取得するには、refspecを明示的に渡す必要があります。役立つはずです。git fetchgit help fetch

于 2010-09-30T11:44:51.957 に答える