Wo ist das Arbeitsverzeichnis von git?
Fellow Programmierer, heute ist mein Erster Tauchgang in git mit Turm auf dem Mac - das Leben ist zu kurz, um Durcheinander mit der Kommandozeile 😉
Ich habe gelesen, dass ein paar intros und tutorials, aber keiner die Frage angesprochen, bin ich, darüber zu schreiben. Ich habe einige Schwierigkeiten zu verstehen, die Arbeits-directory-Konzept in git vs. SVN.
Was ich getan habe:
- Ich erstellt eine lokale repo und richtete Sie auf den Ordner wo meine Projekt-Dateien sind.
- Hinzugefügt und verpflichtet alle Dateien in dem Ordner.
- Bearbeitet eine Datei. Zeigte sich, wie geändert.
- Hinzugefügt und verpflichtet die Datei.
Diesen Schritten gearbeitet.
Bisher wurde ich noch nicht gefragt, den Speicherort für das Arbeitsverzeichnis und ich kann keine Kasse die master-KOPF (option ist deaktiviert). Meine Frage ist: Ist mein original Ordner als checkout-directory arbeiten? Wann wird der checkout-Befehl funktioniert? Tut Sie nur kommen, um zu spielen, wenn ich mehrere Filialen?
Hoffe, jemand kann dies verdeutlichen, bevor ich weiter gehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas kürzere Antwort auf deine Fragen:
git checkout
dient zur Umschaltung zwischen den ZweigenBeim Wechsel von einer Quelle zur anderen, findet man oft, dass es viele Begriffe, die in gemeinsamen, außer dass einige "Allgemeine" Bedingungen, die eigentlich unterschiedliche Bedeutungen haben, die in den beiden Systemen. Und es wird noch verwirrender, da git ' s branching-Modell ist ganz Verschieden von der SVN. (Warnung: meine SVN ist immer ein wenig rostig, so fühlen sich frei, um Fehler zu korrigieren.)
Arbeitsverzeichnis hat die gleiche Bedeutung: es ist das Verzeichnis, in dem Sie ausgecheckte repository (oder die eine, wo Sie erstellt eine lokale repo), und wo die Dateien, die Sie direkt die Arbeit mit wohnen. Jedoch, was SVN Anrufe Check-out (nämlich das kopieren der Inhalte von einem remote-repository und die Verknüpfung von" dein repository in das remote) aufgerufen wird Klonen in git. In git, Check-out bedeutet der Wechsel zu einem anderen Zweig oder revision.
In SVN, Verzweigung funktioniert, indem das "kopieren" des gesamten repository in einen anderen Ordner (auf dem server) und lokal, können Sie Kasse der Filiale (in ein anderes working-directory, wenn Sie wollen). Also in einem gewissen Sinne ein branch ist eine voll-repository auf seinem eigenen.
Im git, es gibt nur ein repository, welches die gesamte Entwicklung der Geschichte als eine azyklische Graphen von Revisionen. Eine revision hat ein oder zwei Eltern, und eine revision, eine beliebige Anzahl von Revisionen kann es aber auch als Elternteil (so viele Revisionen ast aus einer revision, und die revision kann ein verschmelzen von zwei revision-Sequenzen). An jedem Punkt in der Zeit, können Sie Kasse einer bestimmten revision. Dieser Vorgang wird das Arbeitsverzeichnis Inhalt gleich, was Sie wurden zum Zeitpunkt der angegebenen revision (in anderen Worten, es wird "replay" alle änderungen aus der ersten revision bis auf die angegebene).
Was ist ein branch in git ist, dann? Es ist einfach ein label, das an einer revision. Wenn Sie Auschecken eines Zweiges, der man den Effekt hat dieselbe Wirkung, als wenn Sie direkt ausgecheckt Zweig " revision, aber wenn Sie verpflichten sich, das Etikett wird automatisch vorwärts zu bewegen, um die neue revision.
Schließlich: Im SVN, LEITER bezieht sich auf die "main" - Zweig im git, es bezieht sich auf die commit-oder die Filiale, die Sie haben ausgecheckt.
Subversion Würfen Ihre Arbeitskopie mit (versteckten) '.svn " Ordner, die Metadaten enthalten und Kopien der ursprünglichen Daten von der Kasse. Git stellt seine Daten in einer einzigen '.git' Ordner auf der Projekt-root.
Wenn Sie erstellen ein neues git-repository mit
git init
Sie sollten in der Lage sein, dies zu sehen '.git' Ordner mitls -al
Kommandozeilen-Magie (ich bin mir sicher, dass Mac-OS können diese grafisch auch).So ziemlich alles, was Sie tun mit git (außer fetch, pull, pull) verwendet, der lokalen repository versteckt in der '.git' Ordner. Das ist einer der Gründe, dass macht git so schnell. Wenn Sie geklont aus einem anderen repository, würden Sie zuerst Ihre änderungen lokal und schieben Sie Sie dann (an jedem Punkt, den Sie gerne) zurück zum 'Ursprung'.