私は同様の質問について他の質問を調べました。
しかし、彼らは答えはgit fetch --all
だと言っているようです。
しかし、私の場合、それは機能しません。
これは私がそれのためにしたことです。
> git branch
* master
> git branch -r
Origin/master
Origin/A
> git fetch --all
> git branch
* master #still not updated
> git fetch Origin/A
fatal: 'Origin/A' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
> git fetch remotes/Origin/A
fatal: 'Origin/A' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
また、git pull --all
も試しましたが、結果は同じです。
-------------------編集-------------------
> git pull --all
Already up-to-date.
> git branch
* master # I think it should show branch A also
> git remote show Origin
HEAD branch: master
Remote branches:
A tracked
master tracked
-------------------編集-------------------
> git pull Origin A
* branch A -> FETCH_HEAD
Already up-to-date.
> git branch
* master # I think it should show barnch A also
git branch
はローカルブランチのみを表示します。 git branch -r
は、あなたが自分で見たように、リモートブランチを表示します。
git branch
*master
git branch -r
Origin/master
Origin/A
git fetch --all
は、git branch -r
と入力したときに表示されるリストを更新しますが、対応するローカルブランチは作成しません。
あなたがしたいのは、ブランチをチェックアウトすることです。これにより、リモートブランチのローカルコピーが作成され、アップストリームがリモートに設定されます。
git checkout -b mylocal Origin/A
git branch
master
*mylocal
git branch -r
Origin/master
Origin/A
この場合のmylocal
はOrigin/A
です。 -b
パラメータは、作成後に新しいブランチに切り替わります。次のように入力することもできます。git checkout A
は、新しいブランチに自動的に名前を付けます。
あなたが本当に探しているのはgit branch -a
コマンド。すべてのローカルブランチとリモートブランチが表示されます。次に例を示します。
# Only show local branches
$ git branch
* master
develop
# Only show remote branches
$ git branch -r
Origin/HEAD -> Origin/master
Origin/master
Origin/develop
Origin/foo
# Show both local and remote branches
$ git branch -a
* master
develop
remotes/Origin/HEAD -> Origin/master
remotes/Origin/master
remotes/Origin/develop
remotes/Origin/foo
すべてのブランチがそこにあることに気付くでしょう-コマンドはローカルブランチとリモートブランチの両方を表示します。
foo
ブランチはリモートでのみ終了し、ローカルのfoo
ブランチはありません。ローカルのfoo
ブランチを作成するには、checkout
コマンドを使用します。
# Create a local 'foo' branch from the remote one
$ git checkout foo
Branch foo set up to track remote branch foo from Origin.
Switched to a new branch 'foo'
# Show both local and remote branches
$ git branch -a
* foo
master
develop
remotes/Origin/HEAD -> Origin/master
remotes/Origin/master
remotes/Origin/develop
remotes/Origin/foo
これはあなたがローカルで見ているものを説明するはずです。
フェッチされたブランチもローカルで作成する必要があります。
git fetch --all && git checkout A