Einige Arbeiten im Android-Kernel. Ich bin sehr vertraut mit Git, aber nicht besonders vertraut mit Repo, also lese ich das folgende Dokument: http://source.android.com/source/version-control.html. Zu meinem Verständnis davon, sowie experimentieren mit Themenzweigen, repo start BRANCH_NAME
ist das gleiche wie git checkout -b BRANCH_NAME
. Habe ich mein Verständnis richtig verstanden oder gibt es einige subtile, wichtige Details, die mir fehlen?Unterschied zwischen Repo-Start und Git-Checkout -b
Antwort
am start.py
source code für Start-Repo-Suche, ich glaube, der Hauptunterschied in der Verwaltung des manifest files ist, die in Android Projekte enthalten sind.
beginnt ein neuer Zweig der Entwicklung, beginnend mit der im Manifest angegebenen Revision.
zu Trevor Johns 'answer hinzuzufügen, müssen Sie "How do you make an existing Git branch track a remote branch?" überprüfen (wenn Sie nicht repo start
verwenden):
git checkout -b newBranch -t aosp/master
Das Fern gesetzt werden und verschmelzen (-t
= „track ") in der Konfiguration, die dem neuen Zweig zugeordnet ist.
Ein einfaches git checkout -b
würde alles nicht gesetzt ist, und erstellen Sie einen rein lokalen Zweig (ohne einen Upstream-Zweig zu einem Remote-Repo-Tracking)
Der Unterschied besteht darin, dass repo start
die remote
und merge
Eigenschaften für Ihre Branche setzt innerhalb von .git/config:
[branch "YOUR_BRANCH_HERE"]
remote = aosp
merge = master
Ohne diese wissen Repo nicht, wie man richtig um die Änderung zu laden, wenn Sie repo upload
später laufen, und es wird tun, als ob Ihre Niederlassung existiert einfach nicht.
(Es gibt auch eine gewisse Logik darin, dass Sie den neuen Zweig für jedes Projekt im Repo mit --all
gleichzeitig erstellen können, aber das ist nur eine Bequemlichkeit Sache.)
Vielen Dank für die Antwort, VonC, dachte ich, es hatte zwischen den 2 etwas anderes zu sein. –