2011-09-07 12 views
6

私はここでいくつかの質問、特にこのoneを見ましたが、私はまだ混乱しています。誰かがgitでリモートブランチをチェックアウトすることについてさらに説明できますか?

私は、SSHトンネルを介してアクセスする低速リンクを使用してサーバーをセットアップしています。その上で、私はLinuxカーネルの裸のリポジトリをクローンしました(originはkernel.orgを指しています)。私は自分の家のマシンに裸のリポジトリをクローンし、タグをチェックアウトし、ブランチを作成し(testという)、そのブランチを変更して、最後に自分のサーバー上の裸のレポに変更をプッシュしました。

今私はクライアントサイトにいて、支店をチェックアウトしたいと思っています。私の遅いアップリンクをクライアントサイトで回避するために、私はkernel.orgからlinux repoをクローンし、SSHトンネル経由で私のサーバを指すように 'origin'を変更しました。 私はブランチを見ることができますが、をそれをチェックアウトすることはできません:私は実際に意図したもの

~/linux-3.0.y$ git version 
git version 1.7.0.4 
~/linux-3.0.y$ 
~/linux-3.0.y$ git status 
# On branch master 
nothing to commit (working directory clean) 
~/linux-3.0.y$ 
~/linux-3-0.y$ git remote show origin 
[email protected]'s password: 
* remote origin 
    Fetch URL: git+ssh://[email protected]:48884/home/git-user/linux-3.0.y 
    Push URL: git+ssh://[email protected]:48884/home/git-user/linux-3.0.y 
    HEAD branch: master 
    Remote branches: 
    test new (next fetch will store in remotes/origin) 
    master new (next fetch will store in remotes/origin) 
    Local ref configured for 'git push': 
    master pushes to master (up to date) 
~/linux-3.0.y$ 
~/linux-3.0.y$ git checkout -b test origin/test 
fatal: git checkout: updating paths is incompatible with switching branches. 
Did you intend to checkout 'origin/test' which can not be resolved as commit? 

は私のクライアントのサイトでは、自宅で作成したブランチで作業できるようにしました。 このブランチをチェックアウトするにはどうすればよいですか?

+1

'git fetch origin'をまだ実行していますか?もし 'git branch -a'の出力をあなたの質問に含めると、あなたのローカルブランチとリモートトラッキングブランチの両方を表示することができます。(' origin/test'はまだ作成されていません。 。 –

答えて

11

まず、ブランチをフェッチしなかったようです。

git remote show originの代わりにgit branch -aを使用してください。

テストブランチが見つからない場合は、git fetch --allを実行します。

リモートブランチを同じ名前のローカルブランチとしてチェックアウトする場合は、ちょうどgit checkout BRANCH_NAMEを実行すると、自動的に起点を追跡するように設定されます。

+1

もっと明示的に、GitのDWIMeryを使用しないでください: 'git checkout -b BRANCH - トラックの起点/ブランチ ' – knittl

+0

それは私にはいくらか意味があります...私は今、他の混乱の中で動いています。 – Jamie

関連する問題