現在のブランチはプル用に構成されていませんキーbranch.master.mergeの値が構成で見つかりません


163

Egit team> pullを使用してリモートリポジトリからプルしようとすると、このエラーが発生します

現在のブランチはプル用に構成されていませんキーbranch.master.mergeの値が構成で見つかりません


2
同じ問題がありましたが、キーremote.origin.urlの値は、stackoverflow.com
Adrien Be

回答:


155

ローカルマスターブランチは、リモートマスターブランチを追跡するように設定されていません。

あなたは何ができるgit pull origin masterあなたが引くしたい明示的なブランチをgitの言うことや、あなたの.git / configのにこれを追加します。

[branch "master"]
  remote = origin
  merge = refs/heads/master

初めてマスターにプッシュするときに、-uスイッチ(git push -u origin master)を追加します。これにより、すべてが自動的に設定されます。


25
しかし、これを日食でどのように行うのですか?この質問には「食」というタグが付いていると思います。ありがとう!:)
jmort253

2
+1とにかくありがとう。プルするように設定されていないことがわかったので、あなたの答え役に立ちました:) Eclipseでそれを構成する方法を理解すると、物事が一緒になりました。現在、Gitは、動作方法に頭を抱えていれば、作業するのにそれほど苦痛ではないことがわかりました。基本的に、リポジトリを再度チェックアウトし、プルするように構成しました。
jmort253 2012年

16
@ jmort253は、これを構成するためにeclipseで変更しなければならない内容の詳細で質問を更新する場合に最適です。
gview 2012年

@gview-申し訳ありませんが、私はEgitの使用をやめ、コマンドラインを使用しています。私がプルしたとき、Eclipseは私の同僚がコミットしたファイルを自分が変更したものとしてマークし、変更は含まれません。それで、私はコマンドラインを使用しています。EGitはお勧めしません。ただし、Macを使用している同僚はそれを使用できます。私がもう一度チャンスを与えようとした場合(疑わしい)、私はここで答えを更新します。率直に言って、私はすべての誇大宣伝が何であるかについてわかりません。Subversionに戻る準備ができました。
jmort253 2012年

9
@ jmort253、私があなたにメッセージを残した後、私はあちこち調べて、これを処理する最良の方法は、元の返信で推奨されていたことを正確に行うことだとわかりました。Egitは.git / configから値を読み取るため、説明されているようにテキストエディターで編集すると問題が修正されます。
gview 2012年

64

結局のところ、@MichałSzajbeの答えは問題の解決策です。問題の日食キーは、egitの「working directory」から作成されます。この問題が発生した場合は、その作業ディレクトリで.gitディレクトリを見つけ、テキストエディターで.git / configファイルを編集して、Michalで説明されているセクションを追加します。これは、私の経験では、最初にgit initを実行し、初期化されていないリモートにプッシュしてマスターブランチを作成する場合の最近のかなり標準的な操作です。その場合、コマンドラインgitを使用しても、git pullを実行するために手動編集を行わない方法は見つかりませんでした。

編集が保存された後、egitの「Git Repositories」パースペクティブでgitリポジトリを右クリックし、プロパティを選択すると、キーのこのセクションが作成されている(または、おそらく単に構成ファイルから読み取られているだけ)とリモートマスターからローカルマスターのgit pullは、今後予想どおりに動作します。

ここに画像の説明を入力してください

これらのキーと値を自分で入力することもできますが、Michalが示す内容をコピーして貼り付ける方がはるかに速く、おそらく安全です。egitがローカルのgit repoを呼び出すだけなので、この方法が機能し、理にかなっているので、実際にはプロパティエディターを使用して手動でキーを追加することも、そうすることもありません。

Flexと、EclipseとEgitの上に構築されたFlexBuilderエディターを使用している私のオフィスの一部の人々もサポートしています。これらの指示はそれらに等しく関連しています。


7
構成ファイルを直接編集しませんでしたが、上記の[プロパティ]ダイアログを使用してキー「branch.master.merge」を追加しました。これもシャルムのように機能しました。
Matthias Wuttke

57

Eclipseでこの問題を解決するには、開いて、Windowsのメニューを選択するとビューの表示 / その他 / Gitのリポジトリを

[Gitリポジトリ]タブから:

  • ローカルリポジトリを拡張する
  • リモートを右クリック
  • [ Create Remote ... ]をクリックします。
  • リモート名= origin
  • の隣に IRIのある変更ボタンを押します
  • CTRL+ SPACEURI
  • リモートの場所を選択
  • 押す 完了を
  • 押す 保存してプッシュ

再度、Git Repositoriesタブから:

  • 右クリック 原点を
  • 選択する フェッチの構成...]を。
  • 参照マッピングで、 編集(詳細)をます...
  • 押す Add All Branches Specを
  • を選択 強制更新」チェックボックスをます
  • 押す 完了を

再度、Git Repositoriesタブから:

  • ローカルリポジトリを右クリックします
  • 選択する プロパティを
  • 押す 新規エントリを ...
  • 次の2つのキーを入力します。

(1)

Key = branch.master.remote
Value = origin

(2)

Key = branch.master.merge
Value = refs/heads/master

4
私にとって、これは質問に対する最良の答えです。
Kashif Nazar 14

1
受け入れられた回答には、ここで説明されているいくつかの手順が欠けているようです。
FableBlaze、2015

47

これは私のために働きました:

プルできないチェックアウトされたローカルブランチ(私の名前は「開発」と呼ばれます)を右クリックします。[ブランチの構成...]を選択します。 「元」を選択しました左「リベース」をオフにしましたヒットOK

これで私の設定環境設定ウィンドウは、gviewの答えのウィンドウのようになりました。


14
「ブランチの構成...」を見つけるのは非常に困難でした。「Gitリポジトリ」ビューに移動し、ローカルでブランチを展開してからブランチを右クリックして、なんとか見つけました
Edd

18

また、設定に問題がありました。現在は機能しているので、構成ファイルを共有します。私はそれが役立つと思います:

[core]
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true

    [branch "master"] 
        remote = origin 
        merge = refs/heads/master 
    [remote "origin"] 
        url = https://github.com/chelder86/ArcadeTongame.git
        fetch = +refs/heads/*:refs/remotes/origin/*

注:https://github.com/chelder86/ArcadeTongame.git独自のHTTPSクローンURLに置き換える必要があります。


動作している構成ファイルは、まさに私が見る必要があったものです。ありがとう!
Martin Tuskevicius

10

同じ問題。これが私がeclipse / egit内でそれを解決した方法です:

元々、私はリモートリポジトリをオフィスのコンピューターに複製しました(自分のリポジトリですが、リモートサーバー上にあります)。次に、repoプロジェクトの新しいブランチをローカルに作成(「テスト」)し、それをリモートリポジトリにプッシュしました。自分のラップトップにリモートリポジトリを複製し、「testing」ブランチに切り替えて作業し、その後プッシュして、オフィスに戻ってきました。サーバーから「テスト」の変更をプルしようとしたときに、「ローカルブランチがプル用に構成されていません」というメッセージが表示されました。

問題は、デスクトップでは「テスト」はローカルのみであり、リモートURL情報がないため、変更をプルできないことです。

私はこれを日食(egit)内で解決しました:

  1. ローカルブランチを削除する
  2. リモートリポジトリから新しいブランチとしてブランチをプルします。

手順は次のとおりです。

  • Gitリポジトリー探索パースペクティブに移動
  • ローカルブランチの名前を「zzz」に変更します(パラノイアです。正しくなるまで削除しないでください!)
  • 「ブランチ」、「切り替え」、「新しいブランチ」をrt-クリック
  • 「ソース参照」リストをプルダウンし、「テスト」ブランチを選択します(プル戦略「マージ」、「新しいブランチのチェックアウト」がチェックされています)
  • 「完了」をクリックします
  • 通常のパースペクティブに切り替え、ファイルが存在することを確認します
  • Gitリポジトリに戻り、ブランチ「zzz」を確認して削除します

注:Eclipse Indigoを実行しています。他のリリースでは手順が異なる場合があります。


9

同じ問題が発生しましたが、受け入れられた回答が機能しませんでした。これが私がしたことです(ただし、更新された構成が残っているため、受け入れられた回答が影響を与えたかどうかは確認できません):

「Gitリポジトリ」ビューからgitリポジトリツリーを展開します。

「リモート」を右クリックし、「リモートの作成」を選択します

「フェッチの構成」ラジオ・ボタンを選択->「OK」

「URI」テキストボックスの反対側の「変更」を選択します

gitリポジトリの詳細を入力し、[完了]をクリックします

「保存」を選択します

これで、リモートリポジトリからプルできるようになります。

注-接続テストにすぎないと思われる「Dry-Run」を試したところ、失敗しましたが、プルは機能しました。


完璧に動作します。この質問と同様の解決策stackoverflow.com/a/10662106/759452
Adrien Be

3

gviewのソリューションについて:

then find the .git directory in that working directory and edit the .git/config file with a text editor

自分で見つけたり、テキストエディタで開いたりする必要はありません。

  • ウィンドウ->ビューの表示->その他-> GIT-> Gitリポジトリ
  • 作成したrepoフォルダーを展開します。
  • 「Working Directory」と呼ばれるフォルダが含まれ、展開します。
  • 「Working Directory」フォルダ内に「.git」という名前のフォルダがあります。
  • 「.git」内には「config」があります。「config」を右クリックして、エディターで開きます。構成ファイルはEclipseで開き、編集できます。次のコードを追加したところ、エラーなしでプルできるようになりました。

[ブランチ「マスター」]

リモート=原点

マージ=参照/ヘッド/マスター


2

私がeclispeを使用して機能したことがわかったもの(これは確かにこれに対処する正しい方法ではありませんが、機能します):リモートリポジトリにプッシュし、ローカルワークスペースとリポジトリを削除し、インポートダイアログを使用してgitからインポートします。インポートウィザードは、将来のプルに備えてすべてをセットアップします。


2

windows-> Show View-> Navigatorを試してください。ナビゲーターウィンドウで、プロジェクト内のbinフォルダーを見つけ、binフォルダーをgithubにコミットして、うまく機能することを期待します。上記のすべてのタスクの後で、プルまたはフェッチしてみてください。


2
The current branch is not configured for pull.
No value for key branch.master.merge found in configuration

PULLの代替(上記のエラーを回避する)は次のとおりです。

  1. マシン上のリモートブランチを更新するためのFETCH
  2. ローカルブランチとリモートブランチのMERGE
    (チーム->マージ...->リモートトラッキング-> origin / branch

2

gitリポジトリビュー-> +ブランチ->ローカル->リモートブランチに割り当てるローカルブランチを選択->右クリック->リモート(おそらく起点)とアップストリームブランチを選択


これは、「構成ファイル」を変更せずに日食で行いました。質問は日食に固有なので、受け入れられた答えである必要があります。
josephus

1

Eclipse Gitプラグインを使用しているときに私が見つけた最も簡単なソリューションは次のとおりです。

  1. プロジェクトを右クリックし、[チーム]> [ブランチをプッシュ]を選択します。
  2. 「アップストリームをプッシュおよびプル用に構成する」の横のボックスがチェックされていることを確認します
  3. 次をクリックしてプッシュを完了します。

これが完了すると、ブランチもプル用に正しく構成されます。


1

このように、リポジトリの.gitフォルダー内の構成ファイルを編集します。

取り替える https://github.com/your/urigithubリポジトリuriにます。

幸運を。

[core]
    symlinks = false
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = https://github.com/your/uri
    fetch = +refs/heads/*:refs/remotes/origin/*

PS:アイデアを使い、日食を忘れる


0

設定ファイルをこのコードに置き換える必要があります。設定ファイルはリポジトリの「git」フォルダ内にあります。「git」フォルダは非表示になっているため、最初に非表示のファイルを表示する必要があります。設定ファイルを開いて、これらのコードを書きます:-

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true


hideDotFiles = dotGitOnly
[remote "origin"]
url = 'url to the git repository that you want to pull'
fetch = 

+refs/heads/*:refs/remotes/origin/*
puttykeyfile = 
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal


geometry = 887x427+66+66 171 192

0

Eclipse Neonでも同じ問題が発生しました。しかし、解決策はどれも私にとってはうまくいきませんでした。プロジェクトのブランチ変更したときに問題が発生し、このエラーが発生しました。解決策は次のとおりです。

  1. project / .git / configに移動しますファイルにます。
  2. rebase = falseの場合は削除してください。
  3. プロジェクトを更新します。
  4. git pullまたはEclipseからpullします。
  5. エラーは解決しました。

PS:これは古いスレッドなので、他の誰かにもたらされる可能性があるため、更新するだけです。


0

コミット中に、この問題が発生した場合。この簡単なアプローチを試してください:

  1. チーム->上流にプッシュ-ポップアップが開きます。
  2. URIをコピーして、そのポップアップに貼り付けます。

ブランチはプル/プッシュするように構成されます。コードの変更がリポジトリにプッシュされます。

ありがとう

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.