2013-02-21 7 views
5

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

2

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)

+0

Vielen Dank für die Antwort, VonC, dachte ich, es hatte zwischen den 2 etwas anderes zu sein. –

4

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.)

Verwandte Themen