Як я можу натиснути всі гілки при додаванні існуючого репо?


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 - всі не натискатимуть ваші теги, лише ваші гілки.

git push --all
git push --tags

насправді все підштовхне . Див. Також " Налаштування git для витягування та натискання всіх гілок ".
Не забувайте --dry-runможливість зробити тест, перш ніж все реально підштовхнути.
Дивіться також довідку GitHub " Робота з дистанційними ", щоб встановити своє походження для віддаленого репорту GitHub.


Як зазначено у " Як зробити так, щоб" git push "включав теги у гілці? ", Git 1.8.3+ (травень 2013 р.) Ввів:

git push --follow-tags

Це не натисне всі теги, а лише ті, які доступні з гілки (-ів) HEAD (s), яку ви натискаєте.

Це може допомогти зберегти цю операцію (натискання комірок і тегів), виконану з однією командою замість двох.

Git 2.4.1+ (Q2 2015) введе опцію push.followTags.


Здається, це не спрацьовує, коли ви хочете натиснути на інший пульт (замість джерела), це лише підштовхує мою поточну гілку.
Aloys

@Aloys це буде залежати від вашої версії мерзотника і поточної нажімной політики по замовчуванням: stackoverflow.com/questions/10002239 / ...
VonC

Якщо ви хочете натиснути віддалені гілки, скористайтеся--mirror
BFar

18

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

git push origin --all

Вказати пульт потрібно лише тоді, коли не встановлено верхній потік.
1717

потрібне сховище, якщо додано кілька віддалених пристроїв, я вважаю ( $git remote -v)
Майкл

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