Как вернуться назад (cd ..) к родителю, пока не найдете определенную папку? - PullRequest
1 голос
/ 08 мая 2019

Я часто заглядываю глубоко в структуру папок Git-репозитория через терминал, и я хотел бы вернуться назад, пока не достигну корневой папки, содержащей папку .git.

Например:

cd ./a/b/c/d/e/f/g/h/i

Чтобы вернуться к родительскому элементу папки a, корню локального репозитория Git мне нужно выполнить:

cd ../../../../../../../../..

Как бы я мог вернуться в корневую папку без многих ../?

Ответы [ 2 ]

3 голосов
/ 08 мая 2019

Вы можете сделать это с помощью следующей команды:

cd `git rev-parse --show-toplevel`

Спасибо jthill за обновленную версию.

0 голосов
/ 08 мая 2019

Создайте файл sh в своей домашней папке: $ vim ~/.back2root.sh и вставьте следующий скрипт:

while [ ! -d $(pwd)/.git ]
do
        cd ..
done
ls -ahl

Вы также можете определить псевдоним Git:

$ git config --global alias.back2root '!~/.back2root.sh'

И звоните только:

$ git back2root

...