Ich arbeite an einem lokalen Git-Repository. Es gibt zwei Zweige, master
und feature_x
.
Ich möchte pushen feature_x
zum Remote-Repo, aber ich möchte die Änderungen nicht auf den Zweig master
übertragen.
Wird ein git Push Origin feature_x
Von meinem feature_x
Ast (feature_x
Branch existiert bereits auf Remote) Work?
Ich möchte dies nicht auf meiner Box testen, da ich momentan keine Push-to-Master-Funktion ausführen kann.
ja, mach einfach folgendes
git checkout feature_x
git Push Origin feature_x
Standardmäßig git Push
aktualisiert alle entfernten Zweige. Sie können git jedoch so konfigurieren, dass nur der aktuelle Zweig auf den Upstream aktualisiert wird.
git config Push.default upstream
Dies bedeutet, dass git nur den aktuellen (ausgecheckten) Zweig aktualisiert, wenn Sie git Push ausführen.
Andere gültige Optionen sind:
nothing
: Pushe nichts (Fehler raus), außer es wird ausdrücklich eine Referenz angegeben. Dies ist in erster Linie für Menschen gedacht, die Fehler vermeiden wollen, indem sie immer explizit sind.matching
: Alle Zweige mit dem gleichen Namen an beiden Enden verschieben. (Standardoption vor Version 1.7.11)upstream
: Verschiebt den aktuellen Zweig in den vorgelagerten Zweig. Dieser Modus ist nur dann sinnvoll, wenn Sie auf dasselbe Repository pushen, aus dem Sie normalerweise abrufen würden (d. H. zentraler Workflow). Es muss nicht derselbe Name angegeben werden für lokale und ferne Verzweigung.tracking
: Veraltet, verwenden Sie stattdessen upstream
.current
: Schieben Sie den aktuellen Zweig auf den entfernten Zweig von gleicher Name auf der empfangenden Seite. Funktioniert sowohl in zentralen als auch in nicht zentralen Workflows.simple
: [verfügbar seit Version 1.7.11] Arbeiten Sie in einem zentralisierten Workflow wie upstream
mit der zusätzlichen Sicherheit, Push abzulehnen, wenn der Name des Upstream-Zweigs nicht mit dem Namen des lokalen Zweigs übereinstimmt. Wenn Sie zu einer Fernbedienung drücken, die sich von der Fernbedienung unterscheidet, von der Sie normalerweise ziehen, arbeiten Sie als current
. Dies ist die sicherste Option und eignet sich für Anfänger. Dieser Modus ist in Git 2.0 zum Standard geworden.Kleinere Updates zusätzlich zu Karthik Boses Antwort - Sie können git global konfigurieren, damit sich alle Ihre Arbeitsbereiche so verhalten:
git config --global Push.default upstream