Ich habe gerade die folgenden Befehle in meinem Ruby on Rails- Projekt ausgeführt:
git init
git add .
git commit -a -m 'Initial'
Wo speichert Git dieses Repository tatsächlich? (Es ist auf meinem lokalen Computer, aber wo?)
Ich habe gerade die folgenden Befehle in meinem Ruby on Rails- Projekt ausgeführt:
git init
git add .
git commit -a -m 'Initial'
Wo speichert Git dieses Repository tatsächlich? (Es ist auf meinem lokalen Computer, aber wo?)
Antworten:
Es erstellt Ihr Repository in dem .gitOrdner im aktuellen Verzeichnis.
ls -ld .gitals in ~?
~/common/.git( commonist der Name des Pakets). Ich gehe davon aus, dass GIT unfertige Jobs in einem temporären Ordner speichert und nach Erfolg wieder in das aktuelle Verzeichnis überträgt. Ich hoffe nur, dass nicht aufeinanderfolgende Downloads gelöscht wurden.
Um ein bisschen vollständiger zu sein, arbeitet Git mit:
git init).git, in dem die Revisionen aller Ihrer Dateien gespeichert werden)GIT_DIR ist eine Umgebungsvariable, die ein absoluter Pfad oder ein relativer Pfad zum aktuellen Arbeitsverzeichnis sein kann.
Wenn es nicht definiert ist, befindet sich der "Pfad zum Git-Repository" standardmäßig im Stammverzeichnis Ihres Arbeitsbaums (wieder dort, wo Sie a erstellt haben git init).
Sie können jeden Git-Befehl von überall auf Ihrer Festplatte ausführen, vorausgesetzt, Sie geben den Arbeitsbaumpfad und den Git-Repository-Pfad an:
git command --git-dir=<path> --work-tree=<path>
Wenn Sie sie jedoch in einem der Unterverzeichnisse eines Git-Repositorys ausführen (ohne Angabe von GIT-DIR oder Arbeitsbaumpfad), sucht Git einfach in den aktuellen und übergeordneten Verzeichnissen, bis ein gefunden .gitwird. Nehmen Sie an, dass dies auch das Stammverzeichnis von ist Ihren Arbeitsbaum und verwenden Sie diesen .gitals einzigen Container für alle Revisionen Ihrer Dateien.
Hinweis: .gitist auch in Windows (msysgit) versteckt.
Sie müssten ein tun dir /AH, um es zu sehen.
Mit Git 2.9 (Juni 2016) kann dies konfiguriert werden .
Beachten Sie, dass Git 2.18 (Q2 2018) den Prozess zur Weiterentwicklung der Speicherung von Objekten durch Git startet, indem die interne globale Datenstruktur überarbeitet wird, damit mehrere Repositorys geöffnet, bearbeitet und anschließend geschlossen werden können.
Siehe Commit 4a7c05f , Commit 1fea63e (23. März 2018) von Jonathan Nieder ( artagnon) .
Sehen Sie verpflichten bd27f50 , begehen ec7283e , begehen d2607fa , begehen a68377b , begehen e977fc7 , begehen e35454f , begehen 332295d , begehen 2ba0bfd , begehen fbe33e2 , begehen cf78ae4 , begehen 13068bf , begehen 77f012e , begehen 0b20903 , begehen 93d8d1e , begehen ca5e6d2 , begehen cfc62fc, Commit 13313fc , Commit 9a00580 (23. März 2018) von Stefan Beller ( stefanbeller) .
(Zusammengeführt von Junio C Hamano - gitster- in Commit cf0b179 , 11. April 2018)
repository: Rohobjektspeicherfeld einführenDas Rohobjektspeicherfeld enthält alle Objekte, die für den Zugriff auf Objekte in einem bestimmten Repository erforderlich sind.
Dieser Patch führt den Rohobjektspeicher ein und füllt ihn mit dem
objectdir, der früher Teil der Repository-Struktur war.Wenn die Struktur Mitglieder gewinnt, füllen wir auch die Funktion aus, um den Speicher für diese Mitglieder zu löschen.
In einem späteren Schritt werden wir eine einführen
struct object_parser, die die Objektanalyse in einer Repository-Struktur ergänzt:
- Der Rohobjekt-Parser ist die Ebene, die den Zugriff auf den Rohobjektinhalt ermöglicht.
Der übergeordnete Objektparser-Code analysiert Rohobjekte und verfolgt mithilfe von '
struct object' die Elternschaft und andere Objektbeziehungen .Fügen Sie vorerst nur die untere Ebene zur Repository-Struktur hinzu.
Wenn Sie sich auf einem englischen Windows-Computer befinden, lautet der Standardspeicherpfad von Git C:\Documents and Settings\< current_user>\, da sich unter Windows die lokalen Standardeinstellungen von Git unter befinden C:\Documents and Settings\< current_user>\.gitund Git für jeden repo/cloneat einen separaten Ordner erstellt C:\Documents and Settings\< current_user>\und alle Verzeichnisse des geklonten Projekts vorhanden sind.
Zum Beispiel, wenn Sie Symfony 2 mit installieren
git clone git://github.com/symfony/symfony.git
Das Symfony-Verzeichnis und die Datei befinden sich unter
C:\Documents and Settings\< current_user>\symfony\
HOMEVerzeichnis von Git Bash. Wenn Sie das Verzeichnis wechseln, werden die geklonten Repositorys natürlich in dem Verzeichnis erstellt, aus dem Sie aufrufen git clone. Was die Frage tatsächlich beantwortet, ist, dass git die Dateien in einem Ordner .gitim Repository speichert , wo immer Sie sie klonen möchten.
Windows 8.1: C:\Users\user_name\.project_nameoder anrufen von Run ...\.project_name.
Im Stammverzeichnis des Projekts befindet sich ein verstecktes .gitVerzeichnis, das die Konfiguration, das Repository usw. enthält.
lsnicht genug. Sie müssen auch laufen ls -a, um versteckte Dateien anzuzeigen.
Ich bin unter Windows und habe meinen Standort gefunden, indem ich mit der rechten Maustaste auf das Git Bash-Programm in meinem Startmenü geklickt und Eigenschaften ausgewählt habe. Auf der Registerkarte Verknüpfung wird der Wert "Start in:" angezeigt. Für mich war es %HOMEDRIVE%%HOMEPATH%so, also öffnete ich eine CMD-Eingabeaufforderung und tippte ein echo %HOMEDRIVE%%HOMEPATH%, um den tatsächlichen Standort anzuzeigen.
In einem .git-Verzeichnis im Stammverzeichnis des Projekts. Im Gegensatz zu einigen anderen Versionskontrollsystemen, insbesondere CVS, gibt es in keinem der Unterverzeichnisse zusätzliche Verzeichnisse.
Ich konnte auch mein Git-Repository nicht finden. Ich verwende Windows 8 und habe mein Repository (aus Versehen) unter erstellt C:\Program Files (x86)\Git. Ich konnte den Repository-Ordner in Bash sehen, aber nicht in Cmd oder Windows Explorer.
Dann erinnerte ich mich an die Windows-Funktion "Virtual Store". Mein Repository-Ordner wurde tatsächlich unter erstellt C:\Users\<username>\AppData\Local\VirtualStore\Program Files (x86)\Git\<myrepo>und dort war mein .gitOrdner!
Program Files, die allen Benutzern gemeinsam ist. Windows erstellt stattdessen die Datei im VirtualStoreOrdner des Benutzers . Die einfachste Lösung besteht darin, das Erstellen von Dateien in eingeschränkten Ordnern zu vermeiden und sie stattdessen irgendwo wie in zu erstellen Documents.
Wenn ich git clone ausführe, speichert Git das geklonte Paket in dem Verzeichnis, in dem ich den Befehl ausführe.
- Ich benutze Fenster.
zum Beispiel :
C:\Users\user>git clone https://github.com/broosaction/aria
erstellt einen Ordner :
C:\Users\user\aria
Normalerweise wird der Ordner "Dokumente" in Windows angezeigt: C: \ Benutzer \ <"Name des Benutzerkontos"> \ Dokumente \ GitHub