291

私はリポジトリのクローンを作成しました。その後、他の誰かが新しいブランチを作成したため、作業を開始したいと考えています。説明書を読んでみると、どうやら簡単そうです。奇妙なことに、それは機能していません。私が見つけたすべての投稿は、私が正しいことをしていることを示唆しています. これには明らかに何か問題があるに違いないので、私は自分自身を非難します。

どうやら正しい行動

git fetch
git branch -a
* master
  remotes/origin/HEAD --> origin/master
  remotes/origin/master
git checkout -b dev-gml origin/dev-gml

この時点で、何らかの理由でgit fetchdev-gml リモート ブランチが表示されないという問題があります。なぜだめですか?リポジトリを新たにクローンすると、そこにあるので、リモートブランチが確実に存在します。

$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev-gml
  remotes/origin/master

、、、可能なすべての順列でgit update試しました...git pullgit fetch --allgit pretty-please

4

11 に答える 11

86

リモート更新

実行する必要があります

git remote update

また

git remote update <remote> 

次に、実行git branch -rしてリモート ブランチを一覧表示できます。

新しいブランチをチェックアウトする

(新しい) リモート ブランチをローカル ブランチとして追跡するには:

git checkout -b <local branch> <remote>/<remote branch>

または(余分な がないと機能しない場合がありますremotes/):

git checkout -b <local branch> remotes/<remote>/<remote branch>

役立つ git チートシート

于 2012-07-24T04:26:34.633 に答える
4

より具体的にするには 追跡ブランチを作成します。これは、リモート ブランチを追跡していることを意味します。

git branch --track branch remote-branch
git branch --track exp remotes/origin/experimental

その後、次のことができます

git branch   # to see the remote tracking branch "exp" created .

次に、そのブランチで作業するには

git checkout branchname
git checkout exp

ブランチに変更を加えた後。以下のように、リモート追跡ブランチで git fetch と git merge を実行して、変更をマージし、リモート ブランチにプッシュできます。

git fetch origin
git merge origin/experimental  
git push origin/experimental

これがどのように機能するか、お役に立てば幸いです。

于 2012-07-24T05:26:25.550 に答える
0

これは、手のひらの瞬間が原因である可能性があります。複数のクローンを切り替えると、存在しないブランチをプルしようとしている間違ったソースツリーに自分自身を見つけるのは簡単です。クローンの名前が似ている場合、またはリポジトリが複数の寄稿者のそれぞれからの同じプロジェクトの別個のクローンである場合は、より簡単です。新しいgitクローンは、実際の問題がフォーカスの喪失または作業コンテキスト、あるいはその両方である場合に、明らかにその「問題」を解決するように見えます。

于 2013-03-05T15:20:31.477 に答える
0

ここでは何も機能していないように見えるため、GitExtensions リモートリポジトリに移動する必要がありました。そこで、2 つのブランチにリモート リポジトリが構成されていないことがわかりました。調整後は次のようになりますここに画像の説明を入力

リモート リポジトリがないブランチnoExternal3がまだ表示されていることに注意してください。bashコマンドのどの組み合わせがそれを見つけたり調整したりしたかはわかりません。

于 2014-07-28T14:15:06.250 に答える
-1

同じ問題があり、使用する必要があります

git fetch

git push origin branch_name

git branch -r

これが同じ問題に直面している誰かを助けることを願っています

于 2016-02-25T11:44:18.077 に答える