Wie füge ich mit Git Dateien aus einem anderen Verzeichnis hinzu?
Lesezeit: 3 Minuten
OutOFTouch
Ich habe ein Repo direkt auf GitHub mit dem Browser erstellt, als ich das Repo mit git bash auf meinen Computer geklont habe, konnte ich mit der Readme-Datei einen Test-Commit mit bash durchführen.
Ich werde immer wieder fatal: Diese Operation muss in einem Arbeitsbaum ausgeführt werden, wenn git –work-tree=yourSrcFolder add ausgeführt wird.
Habe hier und hier nach Hinweisen gesucht, bin aber nach 4 Stunden bereit, die Verwendung von Git aufzugeben.
Wenn Sie sich den ersten Link ansehen, den ich in diese Frage gestellt habe, die Antwort mit 4 Upvotes, habe ich versucht, genau das zu tun, was er gesagt hat: “Auf diese Weise halten Sie Ihren ursprünglichen Quellordner von Ihrem Git-Arbeitsbaum getrennt.” warum ich versucht habe, –work-tree=yourSrcFolder add zu verwenden, also hoffe ich, dass dies den Downvotern einige Gründe für meine Motive gibt.
Warum versuchen Sie zu verwenden --work-tree? Wenn Sie nicht im Repo sind, müssen Sie wahrscheinlich hinzufügen --git-dir auch … aber dies ist eine ungewöhnliche Art, Git zu verwenden.
– John Szakmeister
25. Januar 2013 um 22:58 Uhr
Wohin haben Sie das Repo geklont und woher haben Sie versucht, die Datei zu übertragen? Es muss aus demselben Verzeichnis stammen. dh wenn Sie in Git-Repo klonen, müssen Sie zuerst in Git-Repo gehen, bevor Sie versuchen, die Datei hinzuzufügen/zu übertragen
– Drohne.ah
25. Januar 2013 um 22:59 Uhr
Kopieren Sie einfach die Dateien in Ihr geklontes Repo und verwenden Sie sie git add stattdessen. --work-tree sieht aus wie eine rückwärtsgerichtete Art, Dinge zu tun.
– Martin
25. Januar 2013 um 23:00 Uhr
@ jszakmeister Ich bin an der Wurzel denke ich (Meister)
– OutOFTouch
25. Januar 2013 um 23:07 Uhr
@drone.ah an den Standardspeicherort in Windows Users\User geklont
– OutOFTouch
25. Januar 2013 um 23:08 Uhr
Andrii Abramow
Meine Lösung bestand darin, einen festen Link zu der Datei zu erstellen, die in einem anderen Verzeichnis abgelegt ist.
Sie können verwenden ln Befehl (mklink unter Windows), um dies zu erreichen (vorausgesetzt, Sie befinden sich derzeit im Repository-Verzeichnis):
# this will add file with the same name to current directory and same inode
ln ../../filename .
Und dann fügen Sie es einfach zum Git-Index hinzu:
Verschieben Sie einfach jede Datei, die Sie hinzufügen möchten, in das Repo-Verzeichnis und fügen Sie sie dann dem Git-Tracking hinzu.
Beispiel: Angenommen, Sie möchten eine Datei mit dem Namen hinzufügen test.txt zu Ihrem Git-Repo.
Verschieben Sie es in Ihr Repository-Verzeichnis
Lauf git add test.txt
Committen Sie die Datei mit git commit -m "Added test file to the repo"
Pushen Sie Ihre Änderung auf den Remote-Server git push
Gibt es eine Möglichkeit zu vermeiden, dass jede Datei hinzugefügt werden muss? Wie das Hinzufügen eines ganzen Verzeichnisses auf einmal.
– OutOFTouch
25. Januar 2013 um 23:04 Uhr
git add * fügt alles im Verzeichnis hinzu
– Drohne.ah
25. Januar 2013 um 23:10 Uhr
Soll ich meinen Dateiordner unter dem .git-Ordner oder unter dem Master hinzufügen?
– OutOFTouch
25. Januar 2013 um 23:16 Uhr
Ich habe es jetzt danke, wenn ich nur GitHub für Windows zum Laufen bringen könnte. 🙂
– OutOFTouch
25. Januar 2013 um 23:23 Uhr
niemals berühren .git Mappe. Wenn Sie ein Repo hinzufügen müssen, kopieren Sie das Repo einfach in das Repo-Verzeichnis und führen Sie es aus git add . oder git add -A. Dadurch wird das Repo und sein gesamter Inhalt zum Git-Tracking hinzugefügt.
– Gabriele Petronella
25. Januar 2013 um 23:30 Uhr
(Windows-Version) Fügen Sie einfach ein hinzu mklink /j oder /J für Directory Junction
in deinem git dir:
mklink /j DirName "C:\location\SourceDir\"
10117500cookie-checkWie füge ich mit Git Dateien aus einem anderen Verzeichnis hinzu?yes
Warum versuchen Sie zu verwenden
--work-tree
? Wenn Sie nicht im Repo sind, müssen Sie wahrscheinlich hinzufügen--git-dir
auch … aber dies ist eine ungewöhnliche Art, Git zu verwenden.– John Szakmeister
25. Januar 2013 um 22:58 Uhr
Wohin haben Sie das Repo geklont und woher haben Sie versucht, die Datei zu übertragen? Es muss aus demselben Verzeichnis stammen. dh wenn Sie in Git-Repo klonen, müssen Sie zuerst in Git-Repo gehen, bevor Sie versuchen, die Datei hinzuzufügen/zu übertragen
– Drohne.ah
25. Januar 2013 um 22:59 Uhr
Kopieren Sie einfach die Dateien in Ihr geklontes Repo und verwenden Sie sie
git add
stattdessen.--work-tree
sieht aus wie eine rückwärtsgerichtete Art, Dinge zu tun.– Martin
25. Januar 2013 um 23:00 Uhr
@ jszakmeister Ich bin an der Wurzel denke ich (Meister)
– OutOFTouch
25. Januar 2013 um 23:07 Uhr
@drone.ah an den Standardspeicherort in Windows Users\User geklont
– OutOFTouch
25. Januar 2013 um 23:08 Uhr