Можно ли определить переменные сайта для git?

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

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 ее понимал?

2
задан 11 June 2015 в 11:36

2 ответа

Не то, чтобы я знаю о, но Вы могли определить их как переменные 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/mwchmod +x это):

#!/bin/sh
git clone https://git.wikimedia.org/git/mediawiki/extensions/$1.git

, Если необходимо создать ~/bin/, который не будет добавлен к пути, пока Вы не откроете новую сессию Bash.

0
ответ дан 11 June 2015 в 11:36

Это кажется точно, что удаленное делает в репозитории:

$ 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)
0
ответ дан 11 June 2015 в 11:36

Другие вопросы по тегам:

Похожие вопросы: