Tarik cabang jarak jauh ke repo lokal dengan nama berbeda?

112

Baiklah saya melakukan sedikit penelitian tentang ini tetapi saya tidak dapat menemukan jawaban yang tepat, jadi saya harus bertanya.

Saya memiliki 2 remote: origin dan repo2.

Saya ingin melakukan sesuatu seperti

git pull repo2 master

Tapi ini akan menarik cabang master dari repo2 ke master saya. Dapatkah saya menentukan cabang lain untuk ditarik, untuk cabang lokal saya?

Cosmin Atanasiu
sumber

Jawaban:

163
git checkout -b myBranchName repo2/master
KingCrunch
sumber
20
Catatan - Anda harus berlari git fetch remote2terlebih dahulu, jika belum selesai. Jika tidak, Anda mungkin melihat> fatal: Tidak dapat memperbarui jalur dan beralih ke cabang 'myBranchName' pada saat bersamaan.
dman
Catatan - jika Anda perlu menekan kembali, gunakan git push repo2 myBranchName:mastersebagai yang sederhana git pushakan gagal
jaimedash
2
Bagaimana jika cabangnya sudah ada? Saya ingin memperbarui kode di sana dengan kode dari repo.
Jared
@Jared Secara teknis pertanyaan yang berbeda, tetapi juga dengan mudah mungkin (dan sebenarnya itu salah satu kasus penggunaan yang paling umum). Ini sedikit tergantung pada apa yang sudah Anda lakukan. Dalam kebanyakan kasus, itu hanya git checkout my_branch && git pull --rebase( --rebasetergantung pada alur kerja Anda). Jika cabang belum melacak yang jauh, Anda perlu mengeksekusi git branch --set-upstream my_branch upstream/my_branchsatu kali.
KingCrunch
4

The git pullperintah adalah fungsi kenyamanan yang melakukan git fetchdan git merge. Jika Anda hanya ingin mengambil cabang dari remote baru tanpa mencoba menggabungkannya ke dalam cabang copy pekerjaan yang bisa Anda gunakan git fetch. Anda kemudian dapat merujuk ke git branch -avuntuk melihat semua cabang lokal dan jarak jauh dan beroperasi pada kedua jarak jauh sesuka Anda.

Ben Jackson
sumber