Was ist das Ergebnis von 'git push origin'?

8

Ich habe an meinem lokalen Feature-Zweig gearbeitet, foo. Dann wollte ich diesen neuen Zweig zum Ursprung bringen, damit andere daran arbeiten konnten. Der normale Weg dazu ist:

%Vor%

Was ich schließlich tat, und es funktionierte wie erwartet, indem ich 61 Objekte hochdrückte. Bevor ich das getan habe, habe ich aus einer Laune heraus versucht:

%Vor%

Ich denke, dass es normalerweise einen neuen entfernten Zweig basierend auf dem Namen meiner lokalen Niederlassung erstellen würde. Die Ausgabe war normale Push-Ausgabe, mit nur 13 Objekten nach oben geschoben. Die Ergebnisse waren nicht nachvollziehbar. Nichts Neues kam nach einem Fetch für die anderen Entwickler oder in meinem lokalen Repo.

Was denkt git dann, wenn ich git push origin mache, und was für einen Effekt hatte es auf meinem Remote-Repo?

    
John Bachir 03.01.2011, 17:26
quelle

2 Antworten

12

Es kommt auf deine Git-Version an. In der alten Version würde es versuchen, jede lokale Branche, die auch auf der anderen Seite ist, zu drücken. Seit Version 1.6.3 wird das Verhalten von der Konfigurationsoption push.default gesteuert.

Die Werte sind:

  • matching : [ der Standard ] drückt alle Zweige mit demselben lokalen und entfernten Namen
  • nothing : Push nichts
  • tracking : Verschiebt den aktuellen Zweig nur, wenn er einen entfernten Zweig verfolgt
  • current : drückt den aktuellen Zweig
Sylvain Defresne 03.01.2011, 17:36
quelle
3

Juni 2012: [ANNOUNCE] Git 1.7.11.rc1

  

Ein neuer Modus für push , " simple " , was eine Kreuzung zwischen " current " und " upstream " ist eingeführt.
  " git push " ohne refspec wird den aktuellen Zweig nur dann auf den gleichen Namen im Remote-Repository verschieben, wenn dort der Zweig mit demselben Namen nachverfolgt wird.
  Es ist geplant, diesen Modus zum neuen Standardwert zu machen, wenn push.default nicht konfiguriert ist.

März 2012: Vorsicht: Die standardmäßige "übereinstimmende" Richtlinie könnte sich bald ändern (irgendwann nach Git1.7.10 +) :

Siehe " Bitte besprechen Sie: was" git push "sollte tun, wenn Sie nicht sagen, was Sie schieben sollen? "

  

In der aktuellen Einstellung ( push.default=matching ) wird git push ohne Argument alle Zweige verschieben, die lokal und remote mit demselben Namen existieren .
  Dies ist normalerweise angemessen, wenn ein Entwickler in sein eigenes öffentliches Repository schiebt, aber möglicherweise verwirrend, wenn nicht gefährlich, wenn ein gemeinsam genutztes Repository verwendet wird.

     

Der Vorschlag ist, den Standardwert in ' upstream ' zu ändern, d. h. nur den aktuellen Zweig zu verschieben und ihn auf den Zweig zu schieben, von dem git pull ausgeht.
  Ein anderer Kandidat ist ' current '; Dadurch wird nur der aktuelle Zweig in den entfernten Zweig desselben Namens verschoben.

     

Was bisher besprochen wurde, kann in diesem Thread gesehen werden:

Ссылка

  

Zu früheren relevanten Diskussionen gehören:

  

Um an der Diskussion teilzunehmen, senden Sie Ihre Nachrichten an: [email protected]

    
VonC 17.03.2012 11:05
quelle

Tags und Links