2017-05-24 5 views
0

Visual Studio Team Services(VSTS)でリモートリポジトリを追跡するローカルリポジトリがあり、現在はブランチマスタにあります。同僚が新しいフィーチャーブランチをリモートにプッシュしました。私はそのリモコンを引っ張ってそれに切り替えたい。私は以下を試しました:gitとvstを使ってリモートブランチを取得してスイッチするには?

git pull 
git pull --all 
git branch 

ローカルで新しいリモートブランチが表示されません。私はまた、

git checkout -b FeatureBranch origin/FeatureBranch 

を試してみましたが、私はこのエラーを取得:

fatal: Cannot update paths and switch to branch 'FeatureBranch' at the same time. 
Did you intend to checkout 'origin/FeatureBranch' which can not be resolved as commit? 

はまた、私は前のコマンドと同じで、同じエラーが出ると思います

git checkout --track origin/FeatureBranch 

を試してみました。私が間違っていることは何ですか?

git status 

On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working tree clean 
+0

私はVSTSについて何も知りませんが、Git自身が行っている限り、あなたが見ているエラーはリポジトリに 'origin/FeatureBranch'がないことを示しています。 'git branch -r'を使ってリモートトラッキングブランチ名を見るか、' git branch -a'を使って全てのローカル*と*リモートトラッキングブランチ名を見てください。私は 'git pull'を完全に避けることをお勧めします(' git fetch'とそれに続く2番目のGitコマンドのどちらかを選んでください)。 – torek

+0

'git branch -r'はリモートブランチを表示します。 'git checkout origin/FeatureBranch'は、リモートに存在するがローカルには存在しないブランチをチェックアウトします。興味深い。 – kowsky

+0

'git branch -r'はリモートブランチを表示せず、' git branch -a'も表示しません。しかし、私はVSTSウェブインターフェースを介してそれをはっきりと見ることができます。私はVSTSが壊れているのか、どこかに権限の問題があるのだろうかと思っています。 –

答えて

1

pullのみに-する統合リモートブランチをフェッチできます。代わりにfetchを使用して、ローカルリポジトリ内のすべてのリモートトラッキングブランチをリモートからのbrnachesに更新する必要があります。その後、コマンドが機能し、git branch -aまたはgit branch -rにそのブランチが表示されます。また、それがフェッチされた後、複数のリモコンに存在しない場合は、単純にgit checkout FeatureBranchを実行しても、古代のGitバージョンを使用している場合を除いて暗黙のうちにgit checkout -b FeatureBranch origin/FeatureBranchと同じことになります。

関連する問題