Вариант использования для отправки удаленных веток в другое удаленное хранилище в git - PullRequest
0 голосов
/ 12 октября 2018

В git мы можем передать удаленную ветку на другой пульт, например, так:

> git clone git@foo1.com:a/a
> cd a
> git remote add other git@foo2.com:b/b
> git fetch --all
# ...
> git push origin other/master
Counting objects: 107, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (66/66), done.
Writing objects: 100% (107/107), 2.11 MiB | 0 bytes/s, done.
Total 107 (delta 52), reused 87 (delta 33)
remote: Resolving deltas: 100% (52/52), completed with 8 local objects.
To foo1.com:a/a
 * [new branch]        other/master -> other/master

Так что на "@ foo1.com: a / a" мы можем видеть, что он получил пульт "foo2".com: b / b ", используя команду git branch -va:

* master                  7c6051f foo
  remotes/other/master    38a5a1b bar

Если мы просто используем git branch -v, эта удаленная ветвь не появится.

Однако я не могу 'Не думаю, что это полезно.Мой местный житель не может взаимодействовать с этим на foo1.com:a/a верно?Может ли кто-нибудь привести потенциальный вариант использования для этого?

Также можно ли это как-то отключить с помощью некоторой конфигурации git?

1 Ответ

0 голосов
/ 12 октября 2018

Итак, на "@ foo1.com: a / a" мы можем видеть, что он получил пульт "foo2.com:b/b", используя команду git branch -va:

Нет, вы не делаете: git branch -av - это просто команда local , которая перечисляет локальные ветви, выполненные в вашем локальном репо.
Эта ветвь remotes/other/master отсутствует в вашем удаленном репоfoo1.com:a/a.Только master есть.

remotes/other/master - это локальная «ветка удаленного отслеживания», предназначенная для локального репо, чтобы помнить, что было отправлено или удалено из удаленного репо «other» для ветки «master».

git push origin other/master

Это действительно создало бы другую ветвь с именем other/master для удаленного репо origin (foo1.com)

Но обычно вам это не нужно: вы выполняете локальное слияние междулокальная ветка удаленного отслеживания other/master и ваш собственный мастер, затем нажмите master с помощью простого git push.

...