Aber wie macht man das in Eclipse? Ich glaube, die Frage ist als "Eclipse" gekennzeichnet. Vielen Dank! :)
jmort253
2
+1 Trotzdem danke. Ihre Antwort hat geholfen, da sich herausstellte, dass wir nicht zum Ziehen eingerichtet waren :) Nachdem wir herausgefunden hatten, wie dies in Eclipse konfiguriert werden kann, kamen die Dinge zusammen. Wir stellen jetzt fest, dass es nicht so schmerzhaft ist, mit Git zu arbeiten, wenn Sie Ihren Kopf um die Funktionsweise gewickelt haben. Grundsätzlich haben wir das Repository erneut ausgecheckt und so konfiguriert, dass es abgerufen wird.
jmort253
16
@ jmort253 wäre großartig, wenn Sie die Frage mit den Details aktualisieren würden, die Sie in Eclipse ändern mussten, um dies zu konfigurieren.
Gview
@gview - Entschuldigung, ich habe Egit nicht mehr verwendet und verwende die Befehlszeile. Beim Ziehen hat Eclipse alle von meinen Kollegen festgeschriebenen Dateien als von mir geändert markiert und die Änderungen nicht berücksichtigt. Also benutze ich die Kommandozeile. Ich empfehle EGit nicht; Meine Kollegen, die Macs verwenden, können es jedoch verwenden. Wenn ich versuche, es noch einmal zu versuchen (zweifelhaft), werde ich die Antwort hier aktualisieren. Ehrlich gesagt verstehe ich nicht, worum es bei dem ganzen Hype geht. Ich bin bereit, zu Subversion zurückzukehren.
jmort253
9
@ jmort253, nachdem ich dir die Nachricht hinterlassen hatte, stöberte ich herum und fand heraus, dass der beste Weg, dies zu handhaben, darin besteht, genau das zu tun, was in der ursprünglichen Antwort empfohlen wurde. Egit liest die Werte aus der .git / config. Wenn Sie sie also wie beschrieben mit einem Texteditor bearbeiten, wird das Problem behoben.
Gview
64
Wie sich herausstellt, ist die Antwort von @ Michał Szajbe die Lösung des Problems. Die fraglichen Eclipse-Schlüssel werden aus dem egit "Arbeitsverzeichnis" erstellt. Wenn Sie auf dieses Problem stoßen, suchen Sie das .git-Verzeichnis in diesem Arbeitsverzeichnis und bearbeiten Sie die .git / config-Datei mit einem Texteditor. Fügen Sie dabei den Abschnitt hinzu, den Michal beschreibt. Dies ist meiner Erfahrung nach heutzutage ein ziemlich normaler Vorgang für Fälle, in denen Sie zum ersten Mal init initiieren und auf eine nicht initialisierte Fernbedienung pushen, die den Hauptzweig erstellt. Ich habe in diesem Fall keine Möglichkeit gefunden, die manuelle Bearbeitung nicht durchzuführen, um Git zu ziehen, selbst mit Befehlszeilen-Git.
Nachdem die Bearbeitung gespeichert wurde, klicken Sie mit der rechten Maustaste auf das Git-Repo in Ihrer egit-Perspektive "Git Repositories" und wählen Sie Eigenschaften. Sie sehen nun, dass dieser Schlüsselabschnitt erstellt wurde (oder eher einfach aus der Konfigurationsdatei gelesen wurde) und eine Fernbedienung Der Master-to-Local-Master-Git-Pull funktioniert in Zukunft wie erwartet.
Es ist möglich, dass Sie diese Schlüssel und Werte selbst eingeben, aber das Kopieren und Einfügen von Michal-Shows ist sicherlich viel schneller und wahrscheinlich sicherer. Ich habe nicht versucht, die Schlüssel manuell über den Eigenschafteneditor hinzuzufügen, und ich bin mir auch nicht sicher, da diese Methode funktioniert und sinnvoll ist, da egit einfach das lokale Git-Repo aufruft.
Ich unterstütze auch einige Leute in meinem Büro, die Flex und den Flexbuilder-Editor verwenden, der auf Eclipse und egit basiert. Diese Anweisungen sind für sie gleichermaßen relevant.
Ich habe die Konfigurationsdatei nicht direkt bearbeitet, sondern den Schlüssel "branch.master.merge" über das oben gezeigte Dialogfeld "Eigenschaften" hinzugefügt. Dies funktionierte auch wie ein Sharm.
Matthias Wuttke
57
Um dieses Problem in Eclipse zu beheben, öffnen Sie das Windows- Menü und wählen Sie Ansicht anzeigen / Andere / Git-Repositorys .
Auf der Registerkarte Git Repositories:
Erweitern Sie Ihr lokales Repository
Klicken Sie mit der rechten Maustaste auf Remote
Klicken Sie auf Create Remote ...
Remote-Name = Ursprung
Drücken Sie neben IRI die Schaltfläche Ändern
CTRL+ SPACEauf URI
Wählen Sie den Remote-Standort
Drücken Sie Fertig stellen
Drücken Sie Speichern und drücken
Wieder von der Registerkarte Git Repositories:
Rechtsklick auf Ursprung
Wählen Sie Configure Fetch ...
Drücken Sie beim Ref-Mapping auf Bearbeiten (Erweitert) ...
Drücken Sie Add All Branches Spec
Aktivieren Sie das Kontrollkästchen Update erzwingen
Drücken Sie Fertig stellen
Wieder von der Registerkarte Git Repositories:
Klicken Sie mit der rechten Maustaste auf Ihr lokales Repository
Wählen Sie Eigenschaften
Drücken Sie Neuer Eintrag ...
Geben Sie die folgenden zwei Tasten ein:
(1)
Key = branch.master.remote
Value = origin
(2)
Key = branch.master.merge
Value = refs/heads/master
Für mich ist dies die beste Antwort auf die Frage.
Kashif Nazar
1
Der akzeptierten Antwort scheinen einige Schritte zu fehlen, die hier behandelt werden.
FableBlaze
47
Das hat bei mir funktioniert:
Klicken Sie mit der rechten Maustaste auf meinen ausgecheckten lokalen Zweig, der nicht abgerufen werden kann (meiner heißt "Entwicklung"). Wählen Sie "Zweig konfigurieren ...". Für "Upstream-Zweig:" habe ich "Refs / Heads / Entwicklung" ausgewählt. Für "Remote:" Ich habe "Ursprung" ausgewählt. Links "Rebase" deaktiviert. Klicken Sie auf OK
Jetzt sieht mein Konfigurations-Einstellungsfenster wie das in der Antwort von gview aus.
Ich fand "Zweig konfigurieren ..." sehr schwer zu finden. Ich habe es geschafft, indem ich in die Ansicht "Git Repositories" gegangen bin, Filialen erweitert habe, lokal und dann mit der rechten Maustaste auf die Filiale geklickt habe
Edd
18
Ich hatte auch Probleme, es zu konfigurieren. Es funktioniert jetzt, also werde ich meine Konfigurationsdatei freigeben. Ich denke, es wird helfen:
Eine funktionierende Konfigurationsdatei ist genau das, was ich mir ansehen musste. Vielen Dank!
Martin Tuskevicius
10
Gleiches Problem. Hier ist, wie ich es in Eclipse / egit gelöst habe :
Ursprünglich habe ich ein Remote-Repo auf meinen Bürocomputer geklont (mein eigenes Repo, aber auf einem Remote-Server). Dann habe ich lokal einen neuen Zweig des Repo-Projekts erstellt ("Testen") und ihn in das Remote-Repository verschoben. Klonen Sie das Remote-Repo auf meinen Laptop, wechseln Sie zum Zweig "Testen", arbeiten Sie daran usw., drücken Sie und kehren Sie dann ins Büro zurück. Als ich versuchte, "Test" -Änderungen vom Server abzurufen, wurde die Meldung "Lokaler Zweig nicht für Pull konfiguriert" angezeigt.
Das Problem ist, dass "Testen" auf dem Desktop nur lokal ist, keine Remote-URL-Informationen enthält und daher keine Änderungen abrufen kann.
Ich habe dies innerhalb von Eclipse (egit) gelöst durch:
lokalen Zweig löschen
Zweig vom Remote-Repo als neuen Zweig ziehen.
Schritte waren:
Gehen Sie zur Perspektive "Git Repository Exploring"
benenne den lokalen Zweig in "zzz" um (paranoid, lösche nicht gern, bis ich sicher bin, dass ich es richtig verstanden habe!)
Klicken Sie mit der rechten Maustaste auf "Zweige", "Wechseln zu", "Neuer Zweig".
Ziehen Sie die Liste "Quellreferenz" herunter und wählen Sie den Zweig "Testen" aus (ziehen Sie die Strategie "Zusammenführen", "Neuen Zweig auschecken" aktiviert).
Klicken Sie auf "Fertig stellen".
Wechseln Sie zur normalen Perspektive und stellen Sie sicher, dass meine Dateien vorhanden sind
Wechseln Sie zurück zum Git Repository. Erforschen und löschen Sie den Zweig "zzz".
Hinweis: Ich verwende Eclipse Indigo. Bei anderen Versionen können die Schritte unterschiedlich sein.
Ich habe gerade das gleiche Problem bekommen, aber die akzeptierte Antwort hat bei mir nicht funktioniert. Folgendes habe ich getan (obwohl ich nicht bestätigen kann, ob die akzeptierte Antwort Auswirkungen hatte, da die aktualisierte Konfiguration erhalten bleibt):
Erweitern Sie Ihren Git-Repository-Baum in der Ansicht "Git-Repositorys".
Klicken Sie mit der rechten Maustaste auf "Fernbedienungen" und wählen Sie "Remote erstellen".
Wählen Sie das Optionsfeld 'Abruf konfigurieren' -> 'OK'.
Wählen Sie neben dem Textfeld "URI" die Option "Ändern"
Geben Sie Ihre Git-Repository-Details ein und klicken Sie auf "Fertig stellen".
Wählen Sie 'Speichern'
Sie sollten jetzt in der Lage sein, aus dem Remote-Repository zu ziehen.
Hinweis - Als ich 'Dry-Run' ausprobiert habe, was meiner Meinung nach nur ein Verbindungstest ist, ist es fehlgeschlagen, aber das Ziehen hat immer noch funktioniert.
then find the .git directory in that working directory and edit the .git/config file with a text editor
Sie müssen es nicht selbst finden oder mit einem Texteditor öffnen.
Fenster -> Ansicht anzeigen -> Andere -> GIT -> Git-Repositorys
Erweitern Sie den von Ihnen erstellten Repo-Ordner.
Es wird einen Ordner namens "Arbeitsverzeichnis" enthalten, erweitern Sie ihn.
Im Ordner "Working Directory" befindet sich ein Ordner mit dem Namen ".git". Erweitern Sie ihn.
In ".git" befindet sich "config". Klicken Sie mit der rechten Maustaste auf "config" -> öffnen Sie im Editor. Die Konfigurationsdatei wird direkt in Eclipse geöffnet, wo Sie sie bearbeiten können. Ich habe folgendes hinzugefügt und jetzt kann ich ohne Fehler ziehen:
Was ich mit eclispe gefunden habe (dies ist sicherlich nicht der richtige Weg, aber es funktioniert): Zum Remote-Repository pushen, lokalen Arbeitsbereich und Repository löschen, über den Importdialog aus git importieren. Der Importassistent kümmert sich darum, alles für zukünftige Pulls einzurichten.
Versuchen Sie Windows-> Show View-> Navigator. Suchen Sie in den Navigator-Fenstern den Ordner bin in Ihrem Projekt. Legen Sie dann den Ordner bin in github fest und hoffen Sie, dass er gut funktioniert. Versuchen Sie, es nach allen oben genannten Aufgaben zu ziehen oder zu holen.
Git-Repository-Ansicht -> + Zweige -> lokal -> Wählen Sie den lokalen Zweig aus, den Sie dem Remote-Zweig zuweisen möchten -> Rechtsklick -> Wählen Sie den Remote-Zweig (wahrscheinlich den Ursprung) und den Upstream-Zweig aus
Dies geschah in Eclipse ohne die Änderungen an der "Konfigurationsdatei". Sollte die akzeptierte Antwort sein, da die Frage spezifisch für Eclipse ist.
Josephus
1
Die einfachste Lösung, die ich bei der Verwendung des Eclipse Git-Plugins gefunden habe, lautet wie folgt:
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Team> Push Branch
Stellen Sie sicher, dass das Kontrollkästchen neben "Upstream für Push and Pull konfigurieren" aktiviert ist
Klicken Sie auf Weiter und schließen Sie den Push ab.
Nachdem dies abgeschlossen ist, wird der Zweig nun auch für das Ziehen korrekt konfiguriert.
Sie müssen Ihre Konfigurationsdatei durch diesen Code ersetzen. Ihre Konfigurationsdatei befindet sich im Ordner 'git' in Ihrem Repository. Der Ordner 'git' ist ausgeblendet, daher müssen Sie zuerst die ausgeblendeten Dateien anzeigen. Öffnen Sie die Konfigurationsdatei und schreiben Sie die folgenden Codes: -
[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
Ich habe das gleiche Problem in Eclipse Neon. Aber keine der Lösungen hat bei mir funktioniert. Ich habe das Problem erhalten, als ich den Zweig des Projekts geändert habe und dann diesen Fehler ausgelöst hat. Die Lösung, die ich versucht habe, ist:
Gehen Sie zu project / .git / config Datei .
Wenn rebase = false , entfernen Sie es.
Aktualisieren Sie Ihr Projekt.
Ziehen oder ziehen Sie an der Sonnenfinsternis.
Fehler behoben.
PS: Da es sich um einen alten Thread handelt, wird nur ein Update durchgeführt, da dies möglicherweise für eine andere Person erfolgt.
Antworten:
Ihr lokaler Hauptzweig ist nicht für die Verfolgung des Remote-Hauptzweigs eingerichtet.
Sie können
git pull origin master
git mitteilen, welchen expliziten Zweig Sie ziehen möchten, oder Sie fügen diesen Ihrer .git / config hinzu:Wenn Sie zum ersten Mal auf Master drücken, fügen Sie den
-u
Schalter (git push -u origin master
) hinzu. Dadurch wird alles automatisch eingerichtet.quelle
Wie sich herausstellt, ist die Antwort von @ Michał Szajbe die Lösung des Problems. Die fraglichen Eclipse-Schlüssel werden aus dem egit "Arbeitsverzeichnis" erstellt. Wenn Sie auf dieses Problem stoßen, suchen Sie das .git-Verzeichnis in diesem Arbeitsverzeichnis und bearbeiten Sie die .git / config-Datei mit einem Texteditor. Fügen Sie dabei den Abschnitt hinzu, den Michal beschreibt. Dies ist meiner Erfahrung nach heutzutage ein ziemlich normaler Vorgang für Fälle, in denen Sie zum ersten Mal init initiieren und auf eine nicht initialisierte Fernbedienung pushen, die den Hauptzweig erstellt. Ich habe in diesem Fall keine Möglichkeit gefunden, die manuelle Bearbeitung nicht durchzuführen, um Git zu ziehen, selbst mit Befehlszeilen-Git.
Nachdem die Bearbeitung gespeichert wurde, klicken Sie mit der rechten Maustaste auf das Git-Repo in Ihrer egit-Perspektive "Git Repositories" und wählen Sie Eigenschaften. Sie sehen nun, dass dieser Schlüsselabschnitt erstellt wurde (oder eher einfach aus der Konfigurationsdatei gelesen wurde) und eine Fernbedienung Der Master-to-Local-Master-Git-Pull funktioniert in Zukunft wie erwartet.
Es ist möglich, dass Sie diese Schlüssel und Werte selbst eingeben, aber das Kopieren und Einfügen von Michal-Shows ist sicherlich viel schneller und wahrscheinlich sicherer. Ich habe nicht versucht, die Schlüssel manuell über den Eigenschafteneditor hinzuzufügen, und ich bin mir auch nicht sicher, da diese Methode funktioniert und sinnvoll ist, da egit einfach das lokale Git-Repo aufruft.
Ich unterstütze auch einige Leute in meinem Büro, die Flex und den Flexbuilder-Editor verwenden, der auf Eclipse und egit basiert. Diese Anweisungen sind für sie gleichermaßen relevant.
quelle
Um dieses Problem in Eclipse zu beheben, öffnen Sie das Windows- Menü und wählen Sie Ansicht anzeigen / Andere / Git-Repositorys .
Auf der Registerkarte Git Repositories:
Wieder von der Registerkarte Git Repositories:
Wieder von der Registerkarte Git Repositories:
(1)
(2)
quelle
Das hat bei mir funktioniert:
Klicken Sie mit der rechten Maustaste auf meinen ausgecheckten lokalen Zweig, der nicht abgerufen werden kann (meiner heißt "Entwicklung"). Wählen Sie "Zweig konfigurieren ...". Für "Upstream-Zweig:" habe ich "Refs / Heads / Entwicklung" ausgewählt. Für "Remote:" Ich habe "Ursprung" ausgewählt. Links "Rebase" deaktiviert. Klicken Sie auf OK
Jetzt sieht mein Konfigurations-Einstellungsfenster wie das in der Antwort von gview aus.
quelle
Ich hatte auch Probleme, es zu konfigurieren. Es funktioniert jetzt, also werde ich meine Konfigurationsdatei freigeben. Ich denke, es wird helfen:
Hinweis:
https://github.com/chelder86/ArcadeTongame.git
sollte durch Ihre eigene HTTPS-Klon-URL ersetzt werden.quelle
Gleiches Problem. Hier ist, wie ich es in Eclipse / egit gelöst habe :
Ursprünglich habe ich ein Remote-Repo auf meinen Bürocomputer geklont (mein eigenes Repo, aber auf einem Remote-Server). Dann habe ich lokal einen neuen Zweig des Repo-Projekts erstellt ("Testen") und ihn in das Remote-Repository verschoben. Klonen Sie das Remote-Repo auf meinen Laptop, wechseln Sie zum Zweig "Testen", arbeiten Sie daran usw., drücken Sie und kehren Sie dann ins Büro zurück. Als ich versuchte, "Test" -Änderungen vom Server abzurufen, wurde die Meldung "Lokaler Zweig nicht für Pull konfiguriert" angezeigt.
Das Problem ist, dass "Testen" auf dem Desktop nur lokal ist, keine Remote-URL-Informationen enthält und daher keine Änderungen abrufen kann.
Ich habe dies innerhalb von Eclipse (egit) gelöst durch:
Schritte waren:
Hinweis: Ich verwende Eclipse Indigo. Bei anderen Versionen können die Schritte unterschiedlich sein.
quelle
Ich habe gerade das gleiche Problem bekommen, aber die akzeptierte Antwort hat bei mir nicht funktioniert. Folgendes habe ich getan (obwohl ich nicht bestätigen kann, ob die akzeptierte Antwort Auswirkungen hatte, da die aktualisierte Konfiguration erhalten bleibt):
Sie sollten jetzt in der Lage sein, aus dem Remote-Repository zu ziehen.
Hinweis - Als ich 'Dry-Run' ausprobiert habe, was meiner Meinung nach nur ein Verbindungstest ist, ist es fehlgeschlagen, aber das Ziehen hat immer noch funktioniert.
quelle
Über die Lösung von gview:
Sie müssen es nicht selbst finden oder mit einem Texteditor öffnen.
[Zweig "Master"]
remote = Ursprung
Merge = Refs / Heads / Master
quelle
Was ich mit eclispe gefunden habe (dies ist sicherlich nicht der richtige Weg, aber es funktioniert): Zum Remote-Repository pushen, lokalen Arbeitsbereich und Repository löschen, über den Importdialog aus git importieren. Der Importassistent kümmert sich darum, alles für zukünftige Pulls einzurichten.
quelle
Versuchen Sie Windows-> Show View-> Navigator. Suchen Sie in den Navigator-Fenstern den Ordner bin in Ihrem Projekt. Legen Sie dann den Ordner bin in github fest und hoffen Sie, dass er gut funktioniert. Versuchen Sie, es nach allen oben genannten Aufgaben zu ziehen oder zu holen.
quelle
Eine Alternative für PULL (Vermeidung des obigen Fehlers) ist:
(Team -> Merge ... -> Remote Tracking -> Ursprung / Zweigstelle )
quelle
Git-Repository-Ansicht -> + Zweige -> lokal -> Wählen Sie den lokalen Zweig aus, den Sie dem Remote-Zweig zuweisen möchten -> Rechtsklick -> Wählen Sie den Remote-Zweig (wahrscheinlich den Ursprung) und den Upstream-Zweig aus
quelle
Die einfachste Lösung, die ich bei der Verwendung des Eclipse Git-Plugins gefunden habe, lautet wie folgt:
Nachdem dies abgeschlossen ist, wird der Zweig nun auch für das Ziehen korrekt konfiguriert.
quelle
Bearbeiten Sie die Konfigurationsdatei in Ihrem Repository-Ordner .git wie folgt.
ersetzen
https://github.com/your/uri
in Ihrem Github-Repository uri.Viel Glück.
ps: Idee verwenden, Sonnenfinsternis vergessen
quelle
Sie müssen Ihre Konfigurationsdatei durch diesen Code ersetzen. Ihre Konfigurationsdatei befindet sich im Ordner 'git' in Ihrem Repository. Der Ordner 'git' ist ausgeblendet, daher müssen Sie zuerst die ausgeblendeten Dateien anzeigen. Öffnen Sie die Konfigurationsdatei und schreiben Sie die folgenden Codes: -
quelle
Ich habe das gleiche Problem in Eclipse Neon. Aber keine der Lösungen hat bei mir funktioniert. Ich habe das Problem erhalten, als ich den Zweig des Projekts geändert habe und dann diesen Fehler ausgelöst hat. Die Lösung, die ich versucht habe, ist:
PS: Da es sich um einen alten Thread handelt, wird nur ein Update durchgeführt, da dies möglicherweise für eine andere Person erfolgt.
quelle
Wenn Sie beim Festschreiben auf dieses Problem stoßen. Versuchen Sie diesen einfachen Ansatz:
Ihr Zweig wird zum Ziehen / Drücken konfiguriert. Ihre Codeänderungen werden an das Repository weitergeleitet.
Vielen Dank
quelle