1014 Stimmen

Gibt es eine Möglichkeit, das git Root-Verzeichnis mit einem einzigen Befehl zu erhalten?

Mercurial hat eine Möglichkeit, das Root-Verzeichnis (das .hg enthält) über

hg root

Gibt es etwas Äquivalentes in Git, um das Verzeichnis zu erhalten, das das .git-Verzeichnis enthält?

12voto

Seit Git 2.13.0 unterstützt es eine neue Option zur Anzeige des Pfads des Root-Projekts, die auch dann funktioniert, wenn sie aus einem Submodul heraus verwendet wird:

git rev-parse --show-superproject-working-tree

10voto

Bruce K Punkte 693

Um die "git config"-Antwort ein wenig abzuändern:

git config --global --add alias.root '!pwd -P'

und den Pfad zu säubern. Sehr schön.

9voto

Dan Heberden Punkte 10664

Wenn Sie nach einem guten Alias suchen, der dies ermöglicht und nicht in die Luft fliegt cd wenn Sie sich nicht in einem Git-Verzeichnis befinden:

alias ..g='git rev-parse && cd "$(git rev-parse --show-cdup)"'

8voto

Hotschke Punkte 8535

git-extras

fügt hinzu. $ git root
siehe https://github.com/tj/git-extras/blob/master/Commands.md#git-Root

$ pwd
.../very-deep-from-root-directory
$ cd `git root`
$ git add . && git commit

Verfügbarkeit von git-extras

6voto

tocororo Punkte 61
alias git-root='cd \`git rev-parse --git-dir\`; cd ..'

Alles andere schlägt irgendwann fehl, entweder geht es ins Home-Verzeichnis oder versagt einfach kläglich. Dies ist der schnellste und kürzeste Weg, um zurück zum GIT_DIR zu gelangen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X