Mendorong cabang lokal ke GitHub


117

Saya memiliki Git yang dikonfigurasi sehingga ketika saya menjalankan git push, itu mendorong perubahan ke repo GitHub saya. Sampai saat ini saya hanya memiliki satu cabang induk.

Namun, saya sekarang telah membuat cabang lokal dan berkomitmen menggunakan:

git checkout -b my_new_branch
git commit

Yang ingin saya lakukan sekarang adalah mendorong perubahan saya di cabang ini ke GitHub. Apakah saya hanya melakukan git push?

Ketika saya pertama kali mengaturnya, saya menjalankan:

git config push.default current

Apa sebenarnya pertanyaan Anda? Dengan push.defaultmengatur seperti itu, ya, git pushakan mendorong cabang saat ini ke asal, yang merupakan repo github Anda, dengan asumsi Anda mengkloning dari sana. (Anda dapat menentukan remote lain dengan branch.my_new_branch.remotejika Anda mau.) Jadi, apakah Anda mencoba ini dan tidak berhasil?
Cascabel

1
Jika Anda ingin semua cabang lokal Anda mendorong ke cabang jarak jauh yang sama, jelaskan: git push origin HEAD: remote_branch
Ustaman Sangat

Jawaban:


221

Saya yakin Anda sedang mencari git push origin my_new_branch, dengan asumsi remote asal Anda dikonfigurasi untuk mencapai repositori github Anda.


git push <remote> <branch> sesuai atlassian.com/git/tutorials/syncing/git-push
vikramvi

3
Jika Anda kemudian ingin bekerja di cabang ini dengan orang lain dan karenanya melakukan git pull, Anda akan ingin mengatur informasi pelacakan untuk cabang baru Anda: git branch --set-upstream-to=origin/my_new_branch my_new_branch
gloriphobia

9

Bergantung pada pengaturan git lokal Anda, jika Anda memiliki cabang yang diperiksa yang bukan yang Anda kloning atau yang ada di tempat Anda mencoba untuk mendorong, git tidak akan mendorong cabang lokal Anda.

Inilah pesan yang diberikannya:

peringatan: push.default tidak disetel; nilai implisitnya telah berubah di Git 2.0 dari 'matching' menjadi 'simple'. Untuk memadamkan pesan ini dan mempertahankan perilaku tradisional, gunakan:

git config - pencocokan global push.default

Untuk memadamkan pesan ini dan mengadopsi perilaku baru sekarang, gunakan:

git config --global push.default sederhana

Jika push.default disetel ke 'matching', git akan mendorong cabang lokal ke cabang jarak jauh yang sudah ada dengan nama yang sama.

Sejak Git 2.0, Git secara default menggunakan perilaku 'sederhana' yang lebih konservatif, yang hanya mendorong cabang saat ini ke cabang jarak jauh yang sesuai yang digunakan 'git pull' untuk memperbarui cabang saat ini.

Lihat 'git help config' dan cari 'push.default' untuk informasi lebih lanjut. (mode 'sederhana' diperkenalkan di Git 1.7.11. Gunakan mode serupa 'saat ini' alih-alih 'sederhana' jika terkadang Anda menggunakan Git versi lama)

fatal: Cabang saat MyLocalBranchini tidak memiliki cabang hulu. Untuk mendorong cabang saat ini dan mengatur remote sebagai upstream, gunakan

git push --set-upstream origin MyLocalBranch

0

Jika Anda benar-benar malas, Anda dapat mendorong semua cabang lokal hanya dengan menggunakan

git push --all

--semua

Dorong semua cabang (yaitu referensi di bawah refs/heads/); tidak dapat digunakan dengan yang lain <refspec>.


-12

Jika Anda telah mengkonfigurasi git Anda untuk mendorong ke repo master GitHub Anda, tidak peduli dengan cabang Anda, itu akan mendorong ke repo master GitHub Anda.

Ingatlah bahwa, jika banyak pengembang bekerja di repositori yang sama, Anda bisa mengalami konflik.


Saya menjalankan git config push.default saat ini
Noam
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.