Dengan GitHub, bagaimana cara mendorong semua cabang saat menambahkan repo yang sudah ada?


125

Saya membuat repo GitHub baru - Saya ingin meletakkan repo yang ada di sana.
Saya mengikuti instruksi:

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

Ini hanya mendorong cabang master ke GitHub.
Bagaimana cara mendorong semua (termasuk semua cabang) di repo saya yang ada ke repo GitHub baru saya?


Catatan: Anda juga memiliki git push --follow-tagsgit 1.8.3+ (Mei 2013). Lihat jawaban saya yang diedit di bawah ini
VonC

Jawaban:


237

Catatan: git push - semua tidak akan mendorong tag Anda, hanya cabang Anda.

git push --all
git push --tags

akan mendorong segalanya . Lihat juga " Mengatur git untuk menarik dan mendorong semua cabang ".
Jangan lupa --dry-runopsi untuk melakukan beberapa tes sebelum benar-benar mendorong semuanya.
Lihat juga bantuan GitHub " Bekerja dengan remote " untuk menyetel asal Anda ke repo jarak jauh GitHub Anda.


Seperti yang disebutkan dalam " Bagaimana cara membuat“ git push ”menyertakan tag di dalam cabang? ", Git 1.8.3+ (Mei 2013) diperkenalkan:

git push --follow-tags

Ini tidak akan mendorong semua tag, tetapi hanya yang dapat diakses dari cabang HEAD (s) yang Anda dorong.

Itu dapat membantu menjaga operasi itu (mendorong komit dan tag) dilakukan dengan satu perintah, bukan dua.

Git 2.4.1+ (Q2 2015) akan memperkenalkan opsinya push.followTags.


Ini tampaknya tidak berfungsi ketika Anda ingin mendorong ke remote lain (bukan asal), itu hanya mendorong cabang saya saat ini.
Aloys

@Aloys yang akan bergantung pada versi git Anda dan kebijakan push default saat ini: stackoverflow.com/questions/10002239/…
VonC

Jika Anda ingin mendorong cabang jarak jauh juga gunakan--mirror
BFar

18

Jawaban yang diterima kurang tepat, atau setidaknya tidak berhasil untuk saya. Saya perlu menentukan repo jarak jauh juga, misalnya:

git push origin --all

Menentukan remote hanya diperlukan saat upstream tidak disetel.
aross

repositori diperlukan jika beberapa remote telah ditambahkan, saya percaya ( $git remote -v)
michael

2
Untuk mengatur pelacakan antara cabang lokal dan jarak jauh -u dapat ditambahkan:git push -u origin --all
Drenai
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.