Будет ли удаленный URL для извлечения и push быть другим?

git remote --v показать удаленную информацию

origin  https://github.com/test/testing-iOS.git (fetch)
origin  https://github.com/test/testing-iOS.git (push)

Он показывает, что как выборка, так и push используют один и тот же удаленный URL.

Вопрос:

Когда будет (если когда-либо) удаленный URL-адрес для извлечения и push быть другим?

Какие команды вы можете использовать для изменения удаленного URL для извлечения или нажатия отдельно?

Ответы

Ответ 1

Да (с использованием другого пульта дистанционного управления), поэтому Git 2.5 представляет новую сокращенную ссылку @{push}.
См. " Просмотр неотвязанных Git-коммитов "

Какие команды вы можете использовать для изменения удаленного URL для извлечения или нажатия отдельно?

Вам нужен отдельный пульт:

git remote add myfork /url/for/my/fork
git config remote.pushdefault myfork

Сообщение блога GitHub " Улучшенная поддержка треугольных рабочих процессов " иллюстрирует использование @{push}:

https://cloud.githubusercontent.com/assets/1319791/8943755/5dcdcae4-354a-11e5-9f82-915914fad4f7.png

Посмотрите, какие коммиты вы добавили в свою текущую ветку с момента последнего нажатия:

git clone https://github.com/YOUR-USERNAME/atom
cd atom
git config remote.pushdefault origin
git config push.default current
  • remote.pushdefault указывает, куда нажать (на какое дистанционное репо).
  • push.default указывает, что нажать (какой refspec), когда refspec явно не указан.
    current, в последнем случае означает "нажимать текущую ветвь для обновления ветки с тем же именем на принимающей стороне".

Следующая ветка будет извлекаться из одного URL-адреса, нажимать на другой:

git remote add upstream https://github.com/atom/atom
git fetch upstream
git checkout -b whizbang upstream/master

(Здесь ветки whizbang следы upstream/master, но толкают к origin/whizbang)

git log @{push}..

Это использует новую нотацию @{push}, которая обозначает текущее значение ветки удаленного отслеживания, на которое текущая ветвь будет нажата git push, а именно origin/whizbang.
Вы также можете обратиться к пункту назначения произвольной ветки, используя обозначение [email protected]{push}.

Ответ 2

Из документации URL-адреса Fetch и Push должны быть одинаковыми.

http://git-scm.com/docs/git-remote

Команда для установки Push и выборки URL

'git remote set-url' [--push] <name> <newurl> [<oldurl>]

Обратите внимание, что URL-адрес push и URL-адрес выборки, даже если они могут быть установлены по-разному, все равно должны ссылаться на одно и то же место. То, что вы нажали на URL-адрес push, должно быть тем, что вы увидели бы, если бы вы сразу взяли URL-адрес извлечения. Если вы пытаетесь извлечь из одного места (например, вверх по течению) и нажмите на другой (например, ваш репозиторий публикации), используйте два отдельных пульта дистанционного управления.