Git псевдоним для упрощения извлечения из github и bitbucket.org - PullRequest
0 голосов
/ 06 ноября 2019

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

git clonegithub opencv/opencv
git clonebitbucket 

Я начал со следующих псевдонимов, но в итоге они клонировались в мой домашний каталог:

[alias]
clonegithub = "!git clone git@github.com:$1.git"
clonebitbucket = "!git clone git@bitbucket.org:$1.git"
clonemyorg = "!cd \"${GIT_PREFIX:-.}\" && git clone git@bitbucket.org:MyOrg/$1.git #"

Ответы [ 2 ]

1 голос
/ 06 ноября 2019
git config --global url.git@github.com:.insteadOf gh:
git config --global url.git@bitbucket.org:.insteadOf bb:

Теперь запустите

git clone gh:sqlobject/sqlobject.git

См. https://git -scm.com / docs / git-config # Documentation / git-config.txt-urlltbasegtinsteadOf

0 голосов
/ 06 ноября 2019

Получается, что в git команды с псевдонимами обычно запускаются в корне текущего репо. Так как .gitconfig находится в ~, а команда "git clone" не требует репозитория, он пытается запустить git clone в ~.

Чтобы исправить это, используйте GIT_PREFIX, чтобы найти каталог, из которого была запущена команда, и перейдите на cd,Вот псевдонимы, которыми я закончил:

[alias]
clonebb = "!cd \"${GIT_PREFIX:-.}\" && git clone git@bitbucket.org:$1/$1.git #"
clonegh = "!cd \"${GIT_PREFIX:-.}\" && git clone git@github.com:$1/$1.git #"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...