Как с GitHub нажать все ветки при добавлении существующего репо?


125

Я создал новое репо на GitHub - я хочу разместить там свое существующее репо.
Я следовал инструкциям:

cd existing_git_repo
git remote add origin git@github.com:acme-org/myprj.git
git push origin master

Это только толкает основную ветку на GitHub.
Как мне отправить все (включая все ветки) из моего существующего репозитория в новый репозиторий GitHub?


Примечание: у вас также есть git push --follow-tagsgit 1.8.3+ (май 2013 г.). См. Мой отредактированный ответ ниже
VonC

Ответы:


237

Примечание: git push --all не будет отправлять ваши теги, только ваши ветки.

git push --all
git push --tags

действительно бы все подтолкнул . См. Также « Настройка git для извлечения и выталкивания всех веток ».
Не забудьте --dry-runсделать несколько тестов, прежде чем начинать все.
См. Также справку GitHub « Работа с пультами », чтобы указать источник для удаленного репозитория GitHub.


Как упоминалось в разделе « Как заставить« git push »включать теги в ветку? », Git 1.8.3+ (май 2013 г.) представил:

git push --follow-tags

Это не приведет к выталкиванию всех тегов, а только тех, которые доступны из веток (-ов) HEAD (-ов), которые вы нажимаете.

Это может помочь сохранить эту операцию (отправку коммитов и тегов) одной командой вместо двух.

Git 2.4.1+ (второй квартал 2015 г.) представит эту опцию push.followTags.


Похоже, что это не работает, когда вы хотите нажать на другой пульт (вместо источника), он только подталкивает мою текущую ветку.
Алоиз

@Aloys, которые будут зависеть от вашей версии git и текущей политики push по умолчанию: stackoverflow.com/questions/10002239/…
VonC

Если вы хотите --mirror
отправлять

18

Принятый ответ не совсем правильный, или, по крайней мере, у меня он не сработал. Мне также нужно было указать удаленное репо, например:

git push origin --all

Указание удаленного необходимо только тогда, когда восходящий поток не установлен.
aross

репозиторий требуется, если было добавлено несколько пультов, я полагаю ( $git remote -v)
Майкл

2
Чтобы установить отслеживание между локальной и удаленной ветками, можно добавить -u:git push -u origin --all
Дренай
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.