Wie kann ich synchronisieren master und origin/master mit egit in eclipse?
Erstellte ich einen lokalen git-repository, und ich drücken Sie die änderungen aus, um einen gitosis-Fernbedienung, die ich erstellt mit
git init my_git
git remote add origin git@server:my_git
... various adds and commits
git push origin master:refs/heads/master
Nun, ich Bearbeiten und übernehmen Sie die änderungen lokal in eclipse und wenn ich das Begehen habe, sehe ich (mit qgit), Sie bewegt sich mein master
- Zweig, die version.
Aber es zeigt auch mir, dass origin/master
ist bei der vorherigen version.
git status
auf der Befehlszeile zeigt mir alles aktuell ist:
$ git status
# On branch master
nothing to commit (working directory clean)
Kann ich sehen, die Unterschiede in den Versionen mit
git diff origin/master
Wenn ich git push
auf mein Kommando-Zeile, dann qgit zeigt mir die origin/master
Zweig ist jetzt im gleichen Ort wie meine master
.
Ich kann nicht herausfinden, wie zu konfigurieren, die "remote /push" oder "remote /configure push to upstream" - dialog in eclipse zu tun die gleiche Sache wie eine Befehlszeile git push
zu bewegen, die origin/master
auf die gleiche Ebene wie die master
.
Habe ich immer zu tun die Befehlszeile drücken, um die origin/master
kommen an der gleichen Stelle wie master
.
Q1. Kann mir jemand sagen, wie man dies in eclipse?
Q2. Was ist die command line version von git push
tun, dass die eclipse-version nicht tun?
Q3. Sind meine Annahmen, dass master
ist meine lokalen HEAD-Zeiger und origin/master
ist die remote-server-Ansicht der aktuellen KOPF-richtig?
- Ist die
master
Filiale in der gitolite-repository aktualisiert, wenn Sie drücken von Eclipse, obwohl? - ja, es erscheint, wird es aktualisiert. ich habe einen push von eclipse, und dann geklont das gitolite-repository an anderer Stelle und die änderungen, die ich gemacht habe, sind in meinem neuen Klon. die
origin/master
noch bei der vorherigen version, so dass mir sagt, der push funktioniert undorigin/master
ist nicht der remote-server auf den KOPF. Der neue Klon ist "master", "origin/master" auf die neueste verison, sondern auch die "Herkunft/origin/master" auf die Vorherige version - Kennen Sie eine
origin/origin/master
im neuen Klon lässt mich vermuten, dass Sie irgendwie habe versehentlich gedrücktorigin/master
(anstatt nurmaster
), um einen passenden Namen in das gitolite-repository. - Danke, es scheint ich getan hatte, und nun habe ich entfernt, die entfernte Herkunft/origin/master und bearbeitet meine schieben nur tun
master
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehen, indem der relevante Teil egit Dokumentation können Sie entweder:
master
sowohl unter "Quelle " ref" und "Ziel-ref", um nur schieben Sie Ihrenmaster
ZweigDem remote-tracking-branch
origin/master
ist in der Regel aktualisiertgit fetch
(das ist Teil von dem, wasgit pull
), aber mit Kommandozeilen-git, die remote-tracking-branch ist auch aktualisiert auf eine erfolgreiche push-to-branch in das remote-repository, das verfolgt wird. Es ist möglich, dass Egit, wird auf der Basis der reinen Java-Implementierungen von git, JGit, anstatt den Befehl-Linie Werkzeuge, keine updateorigin/master
auf eine erfolgreiche push-in gleicher Weise. Wenn das der Fall ist, können Sie nur tun eine Holen zu aktualisierenorigin/master
.Update: Es scheint, dass dies ist ein bekannter bug in EGit (nicht die zugrunde liegenden JGit) - der bug-report ist hier:
origin/master
jetzt, wäre das ein feature oder ein bug? Ich hätte erwartet, dass lokal wissen, wo der remote-master ist, wenn ich diejenige war, die gerade schob eine Veränderung an, die Tatsache, ich habe zu Fragen, für die es in einem zweiten Schritt ist sonderbar, und die Kommandozeile ist zu tun, was würde ich natürlich mehr erwarten, zu geschehen.Ein update zu diesem, ich benutze eclipse Helios, und ich habe ein Upgrade auf Indigo mit der neuesten version von egit, und das Update scheint aktiv zu sein, wie ich bin, keine mehr zu ziehen, nachdem ein push.