2016-05-06 10 views
0

私は2つの地方の枝がマスターに対してすべての地方の枝を再植えた後に私に行方不明になった。私はその後、すべてのブランチがマスターに対してsync'dされていたと考えて、誰もが使用できるようになると思っていました。Gitがローカルに失われたように見えるGitHubからリモートブランチを復元するには?

ローカルクローンを削除して新しいクローンを実行しました。 GitHubで利用できるにもかかわらず、今ではすべてのブランチがローカルになっています。

この愚かなツールを強制的に私にすべてのブランチを与えるのですか?


ここにfour branchesのレポがあります。ここでは、Gitは、新鮮なクローン後に私を与えているものです。

$ git branch 
* master 

お知らせwindows-storearm-neonatomicsは現在、ローカルに欠けています。


これらは、関連するようだ:Git repository lost its remote branches?Mysterious vanishing branches in git。しかし、ローカルディレクトリを削除してから新しいクローンを実行してから、Gitはすべてのブランチを見つけることができるはずです。

+1

が表示されます-r

Gitのブランチを使用することができます後より

。 – choroba

+0

Gitは壊れていないと良いツールになるかもしれません.... – jww

+0

'git checkout ' – cyroxis

答えて

4

もちろん、「欠落」です。 git branch -rを実行すると、リモコンの分岐が得られます。または、git branch -aを実行すると、すべてのローカルブランチとリモートブランチが取得されます。クローンGit(これは非常に知的なツールです)では、リモートリポジトリのHEAD参照が何であるかを調べ、ローカルクローンにそのローカルバージョンを作成します。他のリモートブランチのローカルブランチが必要な場合は、それらを作成するか、名前でチェックアウトするだけで、ローカルブランチが自動的に作成されます。

更新:あなたはcloneコマンドで--mirrorを使用している場合は、ローカルの支店の代わりに、リモートブランチとして支店を持っていますが、これは、あなたがリポジトリとローカルでの作業のために欲しいものは通常ではありません。

+0

そのワークフローは全く意味をなさない。なぜクローンはレポの一部だけをクローンしますか?レポをすべてクローンするにはどのコマンドを実行する必要がありますか? – jww

+3

常にすべてのレポをクローンします。 Gitリポジトリの各クローンは、すべての履歴とすべてのリモートブランチを持つ独自の完全なリポジトリです。 (そうでなければgitに1つのブランチをフェッチするか、各ブランチの最後のxコミットだけをフェッチするように指示しない限り)。リモートブランチ**はすでにローカルクローン内にあり、リモートのネームスペース内に存在します。あなたはeです。 g。 Gitリポジトリに10個のリモートがあり、それぞれに同じブランチがあり、すべてがローカルブランチに最も論理的に接続されています。リモートブランチをローカルブランチとして使用したい場合は、それをチェックアウトしてください。これは完璧な意味合いがあります。 – Vampire

+0

それに加えて、クローンで '--mirror'を使うことができますが、通常これはあなたが望むものではありません。 – Vampire

1

更新リモート追跡の枝:

gitの原点フェッチ

上記のコマンドをコピーし、ローカルレフリー/リモコン/原点に、すべてのリモートレフリー/ヘッド/名前空間から分岐して保存する彼らに/デフォルト以外のrefspecを指定するためにbranch..fetchオプションが使用されている場合を除き、名前空間。あなたはgitのコマンドに、それはこれが侮辱することなく、素敵な質問をするだろうすべてのブランチ

関連する問題