web-dev-qa-db-ja.com

現在のブランチの追跡情報がありません

私は比較的短期間からgithubを使用してきました、そして私は常にコミットとプルを実行するためにクライアントを使用しました。昨日git bashから試してみることにしました、そして私は新しいリポジトリを作成し、ファイルをコミットしました。

今日、私は別のコンピュータからリポジトリに変更を加え、その変更をコミットしました。そして今、私は家に帰り、私のローカルバージョンを更新するためにgit pullを実行しました。

There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream develop Origin/<branch>

このリポジトリへの唯一の貢献者は私であり、ブランチはありません(ただマスター)。私は窓にいます、そして私はgit bashから引き抜きを実行しました:

enter image description here

git status:

$ git status
# On branch master
nothing to commit, working directory clean

git branch:

$ git branch
* master

何がおかしいのですか?

415
valerio0999

どのブランチを引っ張りたいかを指定できます。

git pull Origin master

あるいは、ローカルのmasterブランチがgithubのmasterブランチをアップストリームとして追跡するように設定することもできます。

git branch --set-upstream-to=Origin/master master
git pull

このブランチトラッキングは、リポジトリをクローンするときに自動的に設定されます(デフォルトブランチのみ)。ただし、既存のリポジトリにリモートを追加する場合は、トラッキングを自分で設定する必要があります。ありがたいことに、gitによって与えられたアドバイスは、そのやり方を覚えるのをとても簡単にします。

694
ComputerDruid

参照: git checkoutタグ、git pullはブランチで失敗する

私のようにあなたがこれを常にする必要があるなら、あなたの.gitconfigファイルに以下を追加することによって自動的にそれをするエイリアスを設定することができます:

[alias]
    set-upstream = !git branch --set-upstream-to=Origin/`git symbolic-ref --short HEAD`

There is no tracking information...というメッセージが表示されたら、git set-upstreamを実行してからgit Pushをもう一度実行します。

おかげで https://zarino.co.uk/post/git-set-upstream/

29
rjmunro

ComputerDruidの答えは素晴らしいですが、必要でない限り手動でアップストリームを設定する必要はないと思います。人々がそれが必要なステップであると思うかもしれないので私はこの答えを加えています。

以下のように引っ張りたいリモコンを指定すると、このエラーはなくなります。

git pull Origin master

Originはリモートの名前、masterはブランチの名前です。


1)リモコンの名前を確認する方法

git remote -v

2)リポジトリで利用可能なブランチを確認する方法。

git branch -r
7
Aerin

最初にリモートブランチを作成せずにgit checkout -b <feature-branch-name>を介してローカルブランチを作成するため、私はこの正確なメッセージに遭遇することがよくあります。

すべての作業が終了し、ローカルでコミットされた後、修正はgit Push -uで、リモートブランチが作成され、すべての作業がプッシュされ、次にマージ要求URLがプッシュされました。

6
Ron Reynolds

1)git branch --set-upstream-to = Origin/<master_branch> feature/<your_current_branch>

2)git pull

3
MERLIN THOMAS

私は上記の例を試していましたが、私が別のコンピュータで作成した(マスターではない)ブランチと同期させることができませんでした。背景として、私はこのリポジトリをコンピュータA(git v 1.8)上に作成し、次にリポジトリをコンピュータB(git 2.14)上にクローンしました。私はすべての変更をcomp Bに加えましたが、その変更をコンピューターAに取り込もうとしたときには変更できず、上記のエラーが発生しました。上記の解決策と同様に、私はしなければなりませんでした:

git branch --set-upstream-to=Origin/<my_repository_name> 
git pull

少し違うが、うまくいけば誰かに役立つ

2
imapotatoe123

やってみる

   git pull --rebase

この回答が最初にここに回答されるのを助けてくれることを願っています https://stackoverflow.com/a/55015370/8253662

1
maheshmnj