2016-05-24 9 views
0

Ich bin ziemlich neu zu git, aber ich habe meinen Kopf um den Prozess. Scheint geklont zu werden (wenn es neu ist), pull, add, commit push ... Das hat größtenteils funktioniert, da der Remote Repo einen Zweig namens master hat (git push funktioniert also ohne zusätzliche Befehle).Schreiben von Änderungen an einem Remote-Zweig mit Git

Jetzt bin ich in einer Situation, in der Repo ich geklont habe mehrere Zweige hat, z:

* master 
    remotes/origin/HEAD 
    remotes/origin/example 
    remotes/origin/master 

Ich möchte meine Änderungen an den example Zweig und Test hinzuzufügen. Wenn dies erfolgreich ist, möchte ich es mit dem Zweig master zusammenführen.

Welche Befehle muss ich ausführen, um diese Ziele zu erreichen?

+0

Hängt davon ab, ob Sie bereits lokale Änderungen vorgenommen haben. – arkascha

Antwort

3

zu Jimmys Antwort- Hinzufügen

  1. Wechseln Sie in den Zweig Sie mit git checkout <branchname> arbeiten möchten, wie git checkout example.

  2. Arbeiten Sie an diesem Zweig mit git add, git commit -m "enter commit message here". Überprüfen Sie oft mit git status.

  3. Umgekehrter Zusammenführungs-Master, um Verschmelzungskonflikte zu vermeiden: git merge master.

  4. Führen Sie einen der Tests aus, die Sie aus diesem Zweig durchführen möchten.

  5. Zum Master wechseln: git checkout master, und in Master, git merge example, einbinden.

  6. Übertragen Sie die Änderungen an den Remote-Zweig: git push -u example.

+0

Danke dafür! Gibt es ein Risiko, dass ein distanzierter Kopf dies tut? Ich habe eine Nachricht in Bezug auf einen abgetrennten Kopf bekommen, als ich das in der Vergangenheit getan habe. Kann ich auch einfach git checkout Beispiel setzen? Das wird keinen lokalen Zweig erzeugen, wird das Beispiel genannt? – user3229731

+0

Danke für das Hinzufügen der Befehle, war zu faul, um mit diesem –

+0

Detached head zu helfen - es sei denn, Sie verwenden "Rebase", "reset" oder andere destruktive Befehle, wird es keinen losgelösten Kopf geben. Wie zum Erstellen eines Zweigs namens Beispiel, habe ich diese Befehle mit Beispiel als falschen Namen. Wie auch immer der Name des Zweiges, den Sie haben, verwenden Sie anstelle von Beispiel. –

1

Wie wäre es damit?

  1. Switch to example
  2. Merge master so ist es auf den neuesten Stand (optional)
  3. ändern Sachen und Test
  4. sie Commit
  5. Switch to master
  6. Merge example in m master
  7. Drücken Sie auf originmaster (optional auch example)
+0

Danke dafür, ich habe Briana die gleiche Frage gestellt ... Wenn ich ein Beispiel auschecke, gibt es eine bestimmte Syntax, die man braucht, um an einer entfernten Niederlassung zu arbeiten? Als ich das in der Vergangenheit versucht habe, hatte ich gerade einen lokalen Zweig mit einem identischen Namen zum entfernten Zweig. – user3229731

+1

@ user3229731 Ich würde vorschlagen, ein bisschen mehr über Git zu lesen, um sich mit entfernten und lokalen Niederlassungen vertraut zu machen. Es gibt keine spezifische Syntax für Fernbedienungen oder Einheimische.Git ist für Anfänger kompliziert. Ich würde vorschlagen, ein Tool wie SourceTree für GUI. Ein Remote-Banrch kann lokal geklont und dann synchronisiert werden. Für einen lokal erstellten Zweig kann eine Remote-Zweigstelle erstellt und synchronisiert werden. –

+0

Ja, es macht jetzt ein wenig mehr Sinn :) Ich denke ich verstehe. Aus irgendeinem Grund hatte ich den Eindruck, dass man direkt an einem Remote-Zweig arbeiten könnte, was offensichtlich nicht möglich ist - der eigentliche Checkout besteht darin, einen Zweig mit dem gleichen Namen lokal zu erstellen, und wenn man darauf drückt, drückt man tatsächlich Änderungen an ein Zweig mit dem gleichen Namen aus der Ferne ... Verwirrend, aber logisch: D – user3229731

1

Zuerst tun git Kasse Beispiel. Dann machen Sie alle anderen Befehle, wie Sie in der Beispielverzweigung sein werden.

Verwandte Themen