2017-10-30 21 views
1

gitとそのコマンドの新機能です。ここで私の場合、クライアントはすでにブランチを作成し、同じブランチで作業するように依頼します。次に、次のコマンドがトリガされました。Gitブランチ-rブランチ名がありません

[email protected]:~/repository/anp-air$ git checkout 0012.6_cmip_pga 
error: pathspec '0012.6_cmip_pga' did not match any file(s) known to git. 

は、その後、私はGitのブランチ-aとgitのブランチを試してみました-rの両方のケースで、私はリモートブランチ名0012.6_cmip_pgaを見つけることができません。

は、その後、私は命令フェッチ Gitは--all

Gitはこの時に-r

、彼らが記載されている指定ブランチ名をフェッチフェッチしようとしました。 git branch -rが最初にブランチ名を見逃したような疑いがありますか? fetchコマンドの実際の目的は何か。ヘルプme

+0

「git fetch origin」を先に実行します。 – marekful

答えて

0

Gitのすべてはローカルのリポジトリでローカルに行われます。あなたのリポジトリがremoteレポにリンクされているとき、あなたは、リモートとの通信に使う2つだけの操作があります。

git fetchは - あなたのリモートが持っているとあなたのすべてのコミット、枝、タグや何からデルタを要求しますを実行せず、ローカルリポジトリのローカル参照を更新します。

git push - 所与のローカルブランチからのすべてのコミットのデルタを送信します。あなたのリモートはではありません。

発行したgit branchコマンドはローカルで解決されます(実際にはリモートとは話しません)。そのため、実際に最初にフェッチしないでリモートブランチを指定しなかったのです。

+0

「git pull」は、 'git fetch' +' git merge'の短縮形です。 – everton

0

git fetchコマンドを使用すると、ローカル履歴はリモート履歴(ブランチ、コミット、タグなど)で更新されますが、ローカルの作業ツリーとはマージされません。

git fetch -allの後には、git branch -rまたはgit checkout <branch-name>が機能しています。

関連する問題