2013-02-03 16 views
13

Ich benutze Aptana und Git. Wenn ich einen neuen Zweig erstellen möchte, erscheint das folgende Dialogfeld.Was bedeutet "track" beim Erstellen einer neuen Verzweigung in git?

enter image description here

Ich habe mich gefragt, was das ‚Track‘ Checkbox der Fall ist, und wenn es am besten geeignet ist, es zu überprüfen.

Ich verstehe das Konzept der Verfolgung in Git, aber vor allem mit Dateien. Ich verstehe nicht, wie das auf neue Branchen zutrifft.

Antwort

11

In diesem Fall bezieht sich track auf die Option --track von git-checkout und git-branch.

Wenn eine lokale Verzweigung von einem Remoteverfolgungszweig aus gestartet wird, richtet Git die Verzweigung so ein, dass git pull aus der Remoteverfolgungsverzweigung ordnungsgemäß zusammengeführt wird.

Von man git-branch:

-t, --track 
    When creating a new branch, set up configuration to mark the 
    start-point branch as "upstream" from the new branch. This 
    configuration will tell git to show the relationship between the 
    two branches in git status and git branch -v. Furthermore, it 
    directs git pull without arguments to pull from the upstream when 
    the new branch is checked out. 
+0

Ah, okay. Also wenn ich einen neuen Abzweig vom Master erzeuge und ihn nachverfolgere. Ich kann weiter an meinem Zweig arbeiten, während ich Änderungen an meinem Master mache, während ich an meinem Zweig arbeite? Lass es mich wissen, wenn ich richtig verstanden habe, danke! –

+0

Beide Zweige sind jedoch lokal. Wann findet die Zusammenführung statt? –

+0

Ja, was Sie sagen, ist richtig. Die Zusammenführung würde auf jeden Fall bei "git pull" stattfinden, selbst wenn der verfolgte Zweig lokal ist. –

8

Ich verstand immer noch nicht die von vorgesehen Antwort Marco, auch nachdem sie durch die Kommentare zu lesen. Also habe ich beschlossen, diese prüfen weiter selbst und bietet eine Antwort in juristischer Hinsicht ...


Lokale Niederlassung: ist ein Weg, abzweigt aus dem Master-Zweig des Git. Der Hauptzweig ist der Hauptpfad, in dem Änderungen endgültig festgelegt werden. Der Zweig ist lokal und nicht mit einem entfernten verbunden.

Remote-Zweig: Wie ein "lokaler Zweig", aber befindet sich auf der Remote-Git. Der Zweig ist remote und nicht mit einem lokalen verbunden.

Fernverfolgung Branche:

  • Sie werden verwendet, zu verbinden, was Sie arbeiten lokal auf, mit der auf der Fernbedienung.
  • Sie wissen, welche Remote-Zweig zu ergreifen Änderungen von, wenn git pull oder git fetch ausgeführt wird. Wenn Sie git status eingeben, wird angegeben, wie viele Commits Sie von der Remote-Zweigstelle haben.

Die Pointe ...

--track verwendet, wird der Zweig erstellen und dann automatisch 'Pull' aus dem gewählten Zweig. Also wird in diesem Fall (bezogen auf das Bild in der Frage) ein neuer Zweig lokal mit dem Namen 'feat/password-confirmation' erstellt und mit dem entfernten Zweig namens 'master' verglichen (der Hauptpfad auf die Fernbedienung)

Ich dachte, du sagtest der Meister Zweig war lokal? Der Hauptpfad lokal und remote wird beide als "Master" bezeichnet, interagiert aber nur mit git push oder git pull.

Sie müssen das Kontrollkästchen "Track" nicht ankreuzen, wenn Sie das Remote-Git nicht verfolgen müssen.


Hoffe, dass hilft.

Source