Bieżąca gałąź nie jest skonfigurowana do ściągania. Nie znaleziono wartości klucza branch.master.merge w konfiguracji


163

Ten błąd pojawia się, gdy próbuję pobrać dane ze zdalnego repozytorium przy użyciu zespołu Egit> pull

Bieżąca gałąź nie jest skonfigurowana do ściągania. Nie znaleziono wartości klucza branch.master.merge w konfiguracji


2
Miał ten sam problem, ale dla wartości klucza zdalnego.origin.url znalazł sposób rozwiązania tego problemu na stackoverflow.com/a/10662106/759452
Adrien Be

Odpowiedzi:


155

Twoja lokalna gałąź główna nie jest skonfigurowana do śledzenia zdalnej gałęzi głównej.

Możesz zrobić, git pull origin masteraby powiedzieć gitowi jawną gałąź, którą chcesz pobrać, lub dodać to do swojego .git / config:

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

Kiedy naciskasz na master po raz pierwszy, dodaj -uprzełącznik ( git push -u origin master). Spowoduje to automatyczne skonfigurowanie wszystkiego.


25
Ale jak to zrobić w zaćmieniu? Uważam, że pytanie jest oznaczone jako „zaćmienie”. Dzięki! :)
jmort253

2
+1 Dzięki mimo wszystko. Twoja odpowiedź nie pomoc, ponieważ okazuje się, że nie zostały powołane do ściągania :) Kiedy zorientowali się, jak skonfigurować że w Eclipse, wszystko przyszło razem. Teraz odkrywamy, że praca z Gitem nie jest aż tak bolesna, gdy już zrozumiesz, jak działa. Zasadniczo ponownie sprawdziliśmy repozytorium i skonfigurowaliśmy je do ściągania.
jmort253

16
@ jmort253 byłoby wspaniale, gdybyś zaktualizował pytanie o szczegóły tego, co trzeba było zmienić w zaćmieniu, aby to skonfigurować.
gview

@gview - Przepraszamy, przestałem używać Egit i używam wiersza poleceń. Kiedy wyciągam, Eclipse oznaczył wszystkie pliki, które moi koledzy zatwierdzili jako zmodyfikowane przeze mnie i nie uwzględnił zmian. Więc używam wiersza poleceń. Nie polecam EGit; jednak moi koledzy używający komputerów Mac są w stanie z niego korzystać. Jeśli spróbuję dać mu jeszcze jedną szansę (wątpliwe), zaktualizuję odpowiedź tutaj. Szczerze mówiąc, nie rozumiem, o co cały ten szum. Jestem gotowy, aby wrócić do Subversion.
jmort253

9
@ jmort253, po tym, jak zostawiłem ci wiadomość, poszperałem i doszedłem do wniosku, że najlepszym sposobem na rozwiązanie tego problemu jest zrobienie dokładnie tego, co było zalecane w oryginalnej odpowiedzi. Egit czyta wartości z .git / config, więc edycja go za pomocą edytora tekstu zgodnie z opisem rozwiązuje problem.
gview,

64

Jak się okazuje, odpowiedzią @ Michała Szajbe JEST rozwiązanie problemu. Omawiane klucze zaćmienia są budowane z „katalogu roboczego” egit. Jeśli napotkasz ten problem, znajdź katalog .git w tym katalogu roboczym i edytuj plik .git / config za pomocą edytora tekstu, dodając sekcję, którą opisuje Michał. Z mojego doświadczenia wynika, że ​​w dzisiejszych czasach jest to dość standardowa operacja w przypadkach, gdy po raz pierwszy wykonujesz inicjalizację i wysyłasz do niezainicjowanego pilota, który tworzy gałąź główną. W takim przypadku nie znalazłem sposobu, aby nie wykonywać ręcznej edycji w celu wykonania git pull, nawet z git wiersza poleceń.

Po zapisaniu edycji, kliknij prawym przyciskiem myszy repozytorium git w perspektywie egit „Repozytoria Git” i wybierz właściwości, zobaczysz, że ta sekcja kluczy została utworzona (lub bardziej prawdopodobne, że została właśnie odczytana z pliku konfiguracyjnego) i zdalny master to local master git pull będzie działał zgodnie z oczekiwaniami.

wprowadź opis obrazu tutaj

Możliwe, że sam mógłbyś wprowadzić te klucze i wartości, ale kopiowanie i wklejanie tego, co pokazuje Michał, jest z pewnością dużo szybsze i prawdopodobnie bezpieczniejsze. Właściwie nie próbowałem dodawać kluczy ręcznie za pomocą edytora właściwości i prawdopodobnie nie będę, ponieważ wiem, że ta metoda działa i ma sens, ponieważ egit po prostu dzwoni do lokalnego repozytorium git.

Wspieram także osoby w moim biurze, które używają Flex i edytora Flexbuilder, który jest zbudowany na bazie eclipse i egit. Te instrukcje są dla nich równie istotne.


7
Nie edytować pliku konfiguracyjnego bezpośrednio, ale dodałem klucz „branch.master.merge” za pomocą okna dialogowego Właściwości pokazanego powyżej. To też działało jak szarm.
Matthias Wuttke

57

Aby rozwiązać ten problem w Eclipse, otwórz menu Windows i wybierz Pokaż widok / Inne / repozytoria Git .

Na karcie Repozytoria Git:

  • rozwiń swoje lokalne repozytorium
  • kliknij prawym przyciskiem myszy Remote
  • Kliknij Utwórz pilota ...
  • Nazwa zdalna = pochodzenie
  • obok IRI naciśnij przycisk Zmień
  • CTRL+SPACE na URI
  • wybierz zdalną lokalizację
  • naciśnij Zakończ
  • naciśnij Save and Push

Ponownie z zakładki Repozytoria Git:

  • kliknij prawym przyciskiem myszy początek
  • wybierz Konfiguruj pobieranie ...
  • na mapowaniu odniesienia naciśnij Edytuj (Zaawansowane) ...
  • naciśnij Add All Branches Spec
  • Wybierz Siła Aktualizacja wyboru
  • naciśnij Zakończ

Ponownie z zakładki Repozytoria Git:

  • kliknij prawym przyciskiem myszy lokalne repozytorium
  • wybierz Właściwości
  • naciśnij Nowy wpis ...
  • wprowadź następujące dwa klucze:

(1)

Key = branch.master.remote
Value = origin

(2)

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

4
Dla mnie to najlepsza odpowiedź na to pytanie.
Kashif Nazar

1
W zaakceptowanej odpowiedzi brakuje niektórych omówionych tutaj kroków.
FableBlaze,

47

To zadziałało dla mnie:

Kliknij prawym przyciskiem myszy moją wyewidencjonowaną gałąź lokalną, której nie można pobrać (moja nazywa się „programowanie”) Wybierz „Konfiguruj gałąź ...” Dla „Oddziału nadrzędnego:”, wybrałem „refs / heads / development” Dla „Remote:” Wybrałem opcję „origin”. Pozostawiono opcję „Rebase” niezaznaczoną. Kliknij OK

Teraz moje okno ustawień konfiguracyjnych wygląda jak to w odpowiedzi gview.


14
Znalazłem „Konfiguruj gałąź…” bardzo trudne do znalezienia. Udało mi się go znaleźć, przechodząc do widoku "Repozytoria Git", rozwijając oddziały, lokalne, a następnie klikając prawym przyciskiem na gałąź
Edd

18

Miałem też problemy z konfiguracją. Teraz działa, więc udostępnię plik konfiguracyjny. Myślę, że to pomoże:

[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/*

Uwaga: https://github.com/chelder86/ArcadeTongame.gitnależy zastąpić własnym adresem URL klonowania HTTPS.


Działający plik konfiguracyjny jest dokładnie tym, czego potrzebowałem. Dzięki!
Martin Tuskevicius

10

Taki sam problem. Oto jak rozwiązałem to w eclipse / egit :

Początkowo sklonowałem zdalne repozytorium na komputer w biurze (moje własne repozytorium, ale na zdalnym serwerze). Następnie utworzyłem lokalnie nową gałąź projektu repozytorium („testowanie”) i umieściłem ją w zdalnym repozytorium. Sklonowałem zdalne repozytorium do mojego laptopa, przełączyłem się na gałąź "testową", popracowałem nad nim itd., Pchnąłem i wróciłem do biura. Kiedy próbowałem pobrać zmiany „testowe” z serwera, otrzymałem komunikat „Oddział lokalny nie jest skonfigurowany do ściągania”.

Problem polega na tym, że na pulpicie „testowanie” jest tylko lokalne, nie ma informacji o zdalnym adresie URL, więc nie można pobrać zmian.

Rozwiązałem to w eclipse (egit) przez:

  1. usuwanie lokalnego oddziału
  2. ściągnij gałąź ze zdalnego repozytorium jako nową gałąź.

Kroki były:

  • Przejdź do perspektywy eksploracji repozytorium Git
  • zmień nazwę lokalnego oddziału na „zzz” (paranoicznie, nie lubię usuwania, dopóki nie mam pewności!)
  • rt-kliknij „Oddziały”, „Przełącz na”, „Nowy oddział”
  • rozwiń listę "Source ref", wybierz gałąź "testing" (pull strategy "merge", "Checkout new branch" zaznaczone)
  • kliknij „zakończ”
  • Przełącz się do zwykłej perspektywy, upewnij się, że moje pliki są obecne
  • przełącz się z powrotem do eksploracji repozytorium Git i usuń gałąź „zzz”

Uwaga: korzystam z Eclipse Indigo. W innych wersjach kroki mogą być inne.


9

Właśnie dostałem ten sam problem, ale zaakceptowana odpowiedź nie działa dla mnie. Oto, co zrobiłem (chociaż nie mogę potwierdzić, czy zaakceptowana odpowiedź miała wpływ, ponieważ zaktualizowana konfiguracja pozostaje):

Rozwiń drzewo repozytorium git z widoku „Repozytoria Git”.

Kliknij prawym przyciskiem myszy „Piloty” i wybierz „Utwórz pilota”

Wybierz przycisk opcji „Konfiguruj pobieranie” -> „OK”

Wybierz „Zmień” obok pola tekstowego „URI”

Wprowadź szczegóły repozytorium git i kliknij „Zakończ”

Wybierz „Zapisz”

Teraz powinno być możliwe pobieranie ze zdalnego repozytorium.

Uwaga - kiedy próbowałem `` Dry-Run '', który moim zdaniem jest tylko testem połączenia, nie udało się, ale ciągnięcie nadal działało.


działa świetnie. Podobne rozwiązanie jak w przypadku tego pytania stackoverflow.com/a/10662106/759452
Adrien Be

3

O rozwiązaniu Gview:

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

Nie musisz go sam znajdować ani otwierać w edytorze tekstu.

  • Okno -> Pokaż widok -> Inne -> GIT -> Repozytoria Git
  • Rozwiń utworzony folder repozytorium.
  • Będzie zawierał folder o nazwie „Katalog roboczy” rozwiń go.
  • W folderze „Katalog roboczy” będzie znajdował się folder o nazwie „.git” rozwiń go.
  • Wewnątrz ".git" będzie "config", kliknij prawym przyciskiem "config" -> otwórz w edytorze. Plik konfiguracyjny otworzy się bezpośrednio w Eclipse, gdzie możesz go edytować. Dodałem co następuje i teraz mogę ściągać bez błędów:

[oddział "master"]

zdalny = pochodzenie

merge = refs / heads / master


2

To, co znalazłem, zadziałało przy użyciu eclispe (z pewnością nie jest to właściwy sposób, ale działa): wypchnij do zdalnego repozytorium, usuń lokalny obszar roboczy i repozytorium, importuj z gita za pomocą okna dialogowego importu. Kreator importu zajmie się konfiguracją wszystkiego do przyszłych ściągnięć.


2

Wypróbuj windows-> Show View-> Navigator. W oknach Nawigatora znajdź folder bin w swoim projekcie Następnie zatwierdź folder bin na github i miej nadzieję, że działa dobrze. Spróbuj pobrać lub pobrać po wykonaniu wszystkich powyższych czynności.


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

Alternatywą dla PULL (uniknięcie powyższego błędu) jest:

  1. FETCH, aby zaktualizować zdalną gałąź na swoim komputerze
  2. ŁĄCZYĆ lokalnego oddziału ze zdalnym oddziałem
    (Zespół -> Połącz ... -> Zdalne śledzenie -> pochodzenie / oddział )

2

widok repozytorium git -> + oddziały -> lokalne -> wybierz oddział lokalny, który chcesz przypisać do zdalnego -> kliknij prawym przyciskiem myszy -> wybierz zdalny (prawdopodobnie pochodzenie) i gałąź upstream


zrobiło to w eclipse bez żadnych modyfikacji „pliku konfiguracyjnego”. Powinna być akceptowana odpowiedź, ponieważ pytanie jest specyficzne dla zaćmienia.
josephus

1

Najprostsze rozwiązanie, które znalazłem podczas korzystania z wtyczki Eclipse Git, jest następujące:

  1. Kliknij projekt prawym przyciskiem myszy i wybierz opcję Zespół> Wypchnij gałąź
  2. Upewnij się, że pole obok „Konfiguruj wysyłanie i pobieranie danych” jest zaznaczone
  3. Kliknij Dalej i zakończ wypychanie.

Po zakończeniu tej gałęzi gałąź będzie teraz poprawnie skonfigurowana do ściągania.


1

edytuj plik konfiguracyjny w folderze .git repozytorium w ten sposób.

zamień https://github.com/your/urina swoje repozytorium github uri.

powodzenia.

[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: użyj pomysłu, zapomnij o zaćmieniu


0

Musisz zastąpić plik konfiguracyjny tym kodem. Twój plik konfiguracyjny znajduje się w folderze „git” w repozytorium. Folder „git” jest ukryty, więc najpierw musisz pokazać ukryte pliki. Otwórz plik konfiguracyjny i zapisz te kody: -

[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

Mam ten sam problem w Eclipse Neon. Ale żadne z rozwiązań nie zadziałało dla mnie. Pojawił się problem, gdy zmieniłem gałąź projektu, a następnie wyrzuciłem ten błąd.Rozwiązaniem, które wypróbowałem, jest:

  1. Przejdź do projektu / .git / config pliku .
  2. Jeśli rebase = false , usuń go.
  3. Odśwież swój projekt.
  4. Zrób git pull lub pull from eclipse.
  5. Błąd rozwiązany.

PS: Ponieważ jest to stary wątek, po prostu aktualizuję go, ponieważ może przyjść dla kogoś innego.


0

Jeśli podczas zatwierdzania napotkasz ten problem. Wypróbuj to proste podejście:

  1. Team-> Push to upstream - otwiera się wyskakujące okienko.
  2. Skopiuj swój identyfikator URI i wklej w tym wyskakującym okienku.

Twoja gałąź zostanie skonfigurowana do ściągania / pchania. Twoje zmiany w kodzie zostaną przesłane do repozytorium.

Dzięki

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.