7

git push --mirror裸のレポにバックアップコピーを作成することで大成功を収めています。しかし、SOや他の場所で検索した後、すべてのブランチでローカルに複製する方法が見つかりません。git cloneローカルリポジトリに裸のリポジトリについて知らせたくないので、使用したくありません。私がgit pullそれを使用すると、HEADブランチのみがダウンします。

推測:

git pull /data/Dropbox/backup/that_stuff.git *

もちろん、どこにも行きません。

すべてのブランチを含むリポジトリ全体を再び取得するにはどうすればよいですか? おそらく裸のリポジトリを .git ディレクトリにコピーするだけでよいことはわかっていますが、それは悪い考えのようです。

4

3 に答える 3

2

git fetch代わりに試してくださいgit pull

ブランチをフェッチしてそれをローカル ブランチにマージするためのものがあるため、すべてのリモート ブランチをローカル ブランチgit pullにマージしようとしてもあまり意味がありません。

$ git fetch a-repo_url

上記のコマンドは、デフォルト以外の refspec を指定するためにオプションが使用されていない限り、refs/heads/すべてのブランチをリモート名前空間からコピーし、それらをローカルrefs/remotes/remoteRpo/名前空間に保存します。. 試す:branch.<name>.fetch

$ git fetch a-repo-url +refs/heads/*:refs/heads/*

すべてのブランチのすべてのヘッドを強制的に取得できます。
このSOの質問を参照してください。


OP yarは次のように報告しています。

git pull /data/Dropbox/backup/mjdj.git/ +refs/heads/*:refs/heads/*

動作します。

于 2010-02-06T16:27:08.390 に答える
1

(現在は?) git clone --mirror もあります。しかし、男はこう言います。

   --mirror
       Set up a mirror of the remote repository. This implies --bare.

https://git.wiki.kernel.org/index.php/GitFaq#How_do_I_clone_a_repository_with_all_remotely_tracked_branches.3Fでは、ベア リポジトリを非ベア リポジトリに変更する方法について説明しています。

于 2010-12-26T20:11:59.473 に答える
-1

これはgit-copyで実現できます。

git copy /data/Dropbox/backup/that_stuff.git that_stuff.git
于 2015-03-26T15:39:37.043 に答える