Объединить и перенести в 2 разных репо по умолчанию
Скажем так .git/config
выглядит так:
[remote "origin"]
url = git@github.com:asymmetric/app.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "upstream"]
url = git@github.com:dhh/app.git
fetch = +refs/heads/*:refs/remotes/origin/*
Теперь, когда я нахожусь на master
филиал, оба git pull
а также git push
будет работать с origin
Сделки РЕПО.
Есть ли способ, чтобы git pull от upstream
, но подтолкнуть к origin
все без необходимости указывать репо / ветки в командной строке?
2 ответа
У вас может быть один пульт дистанционного управления, который имеет другой URL-адрес push-адреса из своего URL-адреса извлечения. Если вы бежите
git remote set-url origin git@github.com:dhh/app.git
git remote set-url --push origin git@github.com:asymmetric/app.git
первая команда устанавливает URL для получения origin
а второй устанавливает push-адрес для origin
, поскольку origin
используется по умолчанию, это позволит вам иметь поведение, которое вы хотите для git pull
а также git push
,
Нет, это невозможно.
Если вы посмотрите на свой файл конфигурации:
[branch "master"]
remote = origin
merge = refs/heads/master
Вы можете обобщить это на:
[branch "x"]
remote = r
merge = refs/heads/y
Это значит, если вы находитесь на ветке x
и делать git push/pull
(или сделать git push/pull x
откуда угодно, будет действовать на ветке y
удаленного r
,
Самое близкое, что вы можете сделать, это псевдоним.