gerrit - git (pull vs checkout cherrypick) was ist für was?
In den Android-gerrit ex: link, den patch runterladen, sehe ich 4 Möglichkeiten.
- repo download
- Kasse
- ziehen
- cherry-pick
Was ist der Unterschied zwischen Ihnen?
Hier ist, was ich von Ihnen denken. Bitte klären Sie
- repo download --> Downloads full source code(alle git-repos in das Projekt) bis zu diesem commit
- checkout --> Nicht sicher, was es ist.
- ziehen --> Nicht wissen, was es tut?
- cherry-pick --> Es versucht zu downloaden nur diese änderung, und führen Sie Sie in den source-code.
Ich wissen, dass ziehen und Check-out sind verschiedene von cherry-pick. Aber wie unterscheiden Sie sich?
Kommentar zu dem Problem
Hinweis-wäre-Antwort: diese Frage ist über Gerrit, nicht Git. Wenn Sie nach einer Antwort zu erklären, was diese Begriffe bedeuten, im Git sind, werden Sie nicht diese Frage zu beantworten.
InformationsquelleAutor der Frage mk.. | 2014-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie direkt über das erste. Hier sind der rest von Ihnen:
Kasse: Holt die neuesten änderungen. Sollten Sie bereits über dieses repo heruntergeladen werden. Es nicht Zusammenführen die neuen änderungen, aber macht Ihr Arbeitsverzeichnis reflektieren Sie. Sie können mischen Sie Sie in Ihrer Freizeit später.
Ziehen: Holt die änderungen UND verschmilzt Sie in der örtlichen Filiale mit dem gleichen Namen.
Cherry-pick: Holt die commit - und spielt es auf den aktuellen lokalen branch, so schafft eine völlig neue commit vor, die gleichen änderungen wie die, die Sie geholt.
Sie sind ein wenig anders als das, was Sie eigentlich bedeuten
git
.checkout
undcherry-pick
nicht automatisch abrufen der änderungen.checkout
dauert nurHEAD
zu einem commit angeben, damit Arbeitsverzeichnis genau so, wie es war, verpflichten. Ebensocherry-pick
wird verwendet, um replay verpflichtet, die Sie bereits haben die lokalen Zugriff auf.InformationsquelleAutor der Antwort Akash Agrawal
Mit git haben Sie Ihre eigene version im repository. Dass Sie für die Synchronisation mit anderen repositories. Mit
fetch
aktualisieren Sie Ihre remote-Referenzen, dh. aktualisieren, was andere haben. Mitcheckout
Sie wechseln zu einer bestimmten revision. Sie wollen, dies zu tun, wenn Sie gerade erst begonnen mit diesen.Nun, wenn Sie bereits einen remote-branch, könnten Sie müssen nur aktualisieren Sie Ihre lokale Niederlassung. Das ist es, was
pull
für Sie tut. Es gilt, alle änderungen in den remote-branch zu Ihrem lokal. Sie benötigen diese, wenn Sie es schon wollen Sie nur zu aktualisieren.cherry-pick
lassen Sie pick ändern, von überall im repository und wenden Sie es auf Ihrer lokalen Niederlassung. Es ist praktisch, wenn Sie auf einen anderen Zweig aus irgendeinem Grund, aber benötigen noch das spezifische änderung. Werden Sie sich bewusst, dass, wenn Sie cherry-pick ohne Druck, das zu ändern, wird diese änderung nicht dauerhaft. Es verpflichtet sich zu Ihrem lokalen repository, aber nicht auf der Fernbedienung (es könnte sein, was Sie brauchen in den Fällen, obwohl).Sehen Sie mehr über git basics zum Beispiel hier
InformationsquelleAutor der Antwort fejese
Kasse: Sie wollen, es zu benutzen, wenn Sie je auf eine bestimmte ÄNDERUNG in einer Filiale. sagen Sie Ihrem Kollegen eingecheckt hat einige APIs für Sie zu verbrauchen, und Sie können Kasse, WECHSEL zu einem neuen lokalen branch und Beginn der Arbeit an Ihrer Veränderung.
Cherrypick: wenden Sie eine bestimmte ÄNDERUNG an Ihre lokale Niederlassung oder eine bestimmte release-Zweig, dann sind Sie cherrypick.
Stellen Sie sich vor Sie haben einen patch-Update in deiner 1.1 Version, und die Sie anwenden möchten, zu beheben/ÄNDERN, um Ihre 2.0-Zweig, Sie können einfach cherrypick.
Es wird eine neue ÄNDERUNG in Ihrer 2.0-Zweig mit dem fix.
hier ist eine grafische Darstellung:
http://think-like-a-git.net/sections/rebase-from-the-ground-up/cherry-picking-explained.html
InformationsquelleAutor der Antwort Matt