Wie wechsle ich mit git zurück zu 'master'?

135

Ich habe mein erstes Commit gemacht; Dann wurde ein Zweig erstellt (sagen wir Zweig1).

In diesem Zweig habe ich ein Verzeichnis 'Beispiel' erstellt und festgeschrieben. In GitHub sehe ich meinen neuen Zweig und das neue Verzeichnis 'Beispiel', das ich hinzugefügt habe.

Jetzt frage ich mich, wie ich zurück zum Master "synchronisieren" kann. und so den 'Beispiel'-Ordner löschen lassen (da er auf dem Master nicht existiert).

EDIT: find . -type d -empty -exec touch {}/.gitignore \; hat den Job gemacht.

Disko
quelle

Antworten:

239

Sie müssen die Filiale auschecken:

git checkout master

Weitere Informationen finden Sie in den Git-Spickzettel .

Bearbeiten: Bitte beachten Sie, dass git keine leeren Verzeichnisse verwaltet, daher müssen Sie diese selbst verwalten. Wenn Ihr Verzeichnis leer ist, entfernen Sie es einfach direkt.

Matthew Farwell
quelle
"Bereits auf Master", aber mein 'Beispiel'-Verzeichnis ist noch da. Ich möchte mit dem Master synchronisiert werden (daher habe ich diesen Ordner nicht, da er nicht im Master-Zweig vorhanden ist)
Disco
# Auf Zweig Master nichts zu festschreiben (Arbeitsverzeichnis bereinigen)
Disco
@Disco: Ich hatte dieses Problem schon einmal - wenn es definitiv nicht im Index erfasst ist, können Sie das Verzeichnis einfach lokal entfernen und Sie erhalten es zurück, wenn Sie git checkout branch1.
Platinum Azure
Mmmh schade; Gibt es dafür keine Option? Ich kann nicht genau das Verzeichnis in meinem Kopf verfolgen
Disco
6

Laut Git Cheatsheet müssen Sie zuerst den Zweig erstellen

git branch [branchName]

und dann

git checkout [branchName]
blacksta500
quelle
2
Ich denke, Sie könnten die Frage noch einmal überprüfen
eli
2

Um den Zweig zu löschen, müssen Sie die am Zweig vorgenommenen Änderungen speichern oder die am Zweig vorgenommenen Änderungen festschreiben. Führen Sie die folgenden Schritte aus, wenn Sie Änderungen im aktuellen Zweig vorgenommen haben.

  1. git stash oder git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Hinweis: Mit den obigen Schritten wird der Zweig lokal gelöscht.

Sachin Sridhar
quelle
1

Ich versuche irgendwie zu verstehen, was dort los ist. Befindet sich etwas in Ihrem "Beispiel" -Ordner? Git verfolgt keine leeren Ordner.

Wenn Sie verzweigt und zu Ihrem neuen Zweig gewechselt haben, dann einen neuen Ordner erstellt und leer gelassen haben und dann "git commit -a" ausgeführt haben, wird dieser neue Ordner nicht im Commit angezeigt.

Das heißt, es ist nicht verfolgt, was bedeutet, dass das Auschecken eines anderen Zweigs ihn nicht entfernen würde.

Dan Ray
quelle
Git hat mein Verzeichnis (/ home / dev) initiiert, dann habe ich "-a" festgeschrieben und auf github gepusht. Dann habe ich einen neuen Zweig erstellt; Erstellen Sie ein Verzeichnis 'Beispiel' mit einigen Dateien und schreiben Sie den Zweig fest. Jetzt möchte ich ohne das 'Beispiel'-Verzeichnis, das ich in der neuen Verzweigung erstellt habe, zur Anfangsphase (Master) zurückkehren.
Disco
auch im Hauptzweig ist das Verzeichnis 'Beispiel' nicht da (wie ich in Github sehe)
Disco
Update: Ich hatte einen leeren Ordner im Beispielverzeichnis; zeigt es mir deshalb immer noch das Verzeichnis? Wie man es mit git loswird
Disco
Das tust du nicht. git weiß nichts davon. Löschen Sie es einfach. Beim Auschecken des Masters sollten alle Dateien, die sich in der Verzweigung, aber nicht im Master befinden, aus Ihrem Arbeitsverzeichnis entfernt werden.
Dan Ray
1

Bringt Sie zur Hauptniederlassung.

git checkout master

Um zu anderen Zweigen zu wechseln, tun Sie dies (ignorieren Sie die eckigen Klammern, dies dient nur zu Hervorhebungszwecken).

git checkout [the name of the branch you want to switch to]

Um einen neuen Zweig zu erstellen, verwenden Sie das -b wie folgt (ignorieren Sie die eckigen Klammern, es dient nur zur Hervorhebung).

git checkout -b [the name of the branch you want to create]

Dapo Momodu
quelle