Ich versuche, git von einem anderen Verzeichnis aus zu starten, in dem ich mich gerade befinde. Wenn ich also zum Beispiel in:
cd /home/domain/
git status << runs perfect ie
# On branch master
# Your branch is ahead of 'origin/master' by 6 commits.
Jetzt möchte ich diesen Befehl von einem anderen Verzeichnis aus ausführen, indem ich die --git-dir
option.
Sagen wir also, ich bin in root/
und versuchen Sie dies:
git --git-dir="/home/domain/" status
## Error
fatal: Not a git repository: '/home/domain/'
Ich habe auch versucht, die .git
Ordner z.B.
git --git-dir="/home/domain/.git/" status
Aber das sieht so aus, als würde es versuchen, Git vom Root aus zu starten, d.h. alles aus meinem Domain-Ordner zu löschen und alles im Root hinzuzufügen.
Ich hoffe, jemand kann mir sagen, was ich falsch mache.
5 Stimmen
Jetzt funktioniert status perfekt, aber pull gibt Fehler. d.h. Root@erx [/]# git --git-dir=/home/domain/.git --work-tree=/home/domain/ pull origin master fatal: /usr/local/libexec/git-core/git-pull kann nicht ohne einen Arbeitsbaum verwendet werden. Aber status funktioniert ?? irgendwelche Ideen Jon
6 Stimmen
Dies ist der größte Fehler in Git im Moment. Die Nichtbeachtung der Parameter --work-tree und/oder --git-dir.
5 Stimmen
Ab git 1.8.5 haben Sie die Wahl zwischen no einstellen.
--git-dir
y--work-tree
für einen einfachen Befehl: siehe meine Antwort unten