Я хотел бы иметь возможность запускать что-то вроде:
git clone mw/Math.git
где mw
равно: https://git.wikimedia.org/git/mediawiki/extensions
, то есть репозиторий git для расширений MediaWiki. Вместо выполнения полной формы этой команды:
git clone https://git.wikimedia.org/git/mediawiki/extensions/Math.git
есть ли способ определить эту переменную mw
так, чтобы git ее понимал?
Не то, чтобы я знаю о, но Вы могли определить их как переменные Bash:
MW="https://git.wikimedia.org/git/mediawiki/extensions"
git clone $MW/Math.git
, Чтобы заставить то определение придерживаться, необходимо было бы поселить его в где-нибудь как ~/.bashrc
(который работает, когда каждая сессия Bash загружается).
идея Rinzwind в комментариях является видом моего реверса: создайте функцию или сценарий, который звонит git
и обработка Math
как переменная для нее. Снова, это - что-то, что можно просто ввести в сессию Bash и тест, и затем сохранить в ~/.bashrc
:
function mw {
git clone https://git.wikimedia.org/git/mediawiki/extensions/$1.git
}
mw Math
Или сохраняют его как сценарий в ~/bin/mw
(и chmod +x
это):
#!/bin/sh
git clone https://git.wikimedia.org/git/mediawiki/extensions/$1.git
, Если необходимо создать ~/bin/
, который не будет добавлен к пути, пока Вы не откроете новую сессию Bash.
Это кажется точно, что удаленное делает в репозитории:
$ git init ttt
Initialized empty Git repository in /tmp/user/1000/home-tmp/ttt/.git/
$ cd ttt
$ git remote
$ git remote add mw https://git.wikimedia.org/git/mediawiki/extensions
$ git remote
mw
$ git remote --verbose
mw https://git.wikimedia.org/git/mediawiki/extensions (fetch)
mw https://git.wikimedia.org/git/mediawiki/extensions (push)
, Но обычно, как в этом случае, пульты ДУ являются частью конфигурации репозитория.
Примечание: глобальное удаленное не работает с клоном - таким образом, он действительно не соответствует вопросу.
то, В чем Вы нуждаетесь, глобально определено удаленный.
Технически я не вижу оснований против того - и это, кажется, в основном работает:
Перемещение раздел конфигурации для удаленного, созданного в некоторых (даже пустой) репозиторий к глобальной конфигурации:
Удаляют раздел от ttt/.git/config
:
[remote "mw"]
url = https://git.wikimedia.org/git/mediawiki/extensions
fetch = +refs/heads/*:refs/remotes/mw/*
$ git remote --verbose
и вставляют его в ~/.gitconfig
:
$ git remote --verbose
mw https://git.wikimedia.org/git/mediawiki/extensions (fetch)
mw https://git.wikimedia.org/git/mediawiki/extensions (push)