Bagaimana cara membuat cabang git jarak jauh?

Saya membuat cabang lokal yang ingin saya "push" ke hulu. encoreci.net memiliki pertanyaan serupa tentang cara melacak cabang jarak jauh yang baru dibuat.

Namun, alur kerja saya sedikit berbeda. Pertama Saya ingin membuat cabang lokal, dan saya hanya akan mendorongnya ke atas ketika saya puas dan ingin berbagi cabang saya.

  • Bagaimana saya melakukan ini? (Pencarian Google saya sepertinya tidak menghasilkan apa-apa).
  • Bagaimana saya bisa memberitahu kolega saya untuk mengeluarkannya dari repositori hulu?

UPDATE Dengan Git 2.0 ada jawaban sederhana yang saya tulis di bawah ini: encoreci.net.site/questions/296 / ...

2467
05 окт. Ditetapkan oleh Jesper Rønn-Jensen pada 05 Oktober 2009-10-05 12:21 '09 pada 12:21 2009-10-05 12:21
@ 17 balasan

Solusi sederhana Git 2.0+:

Pada Git 2.0, perilaku telah disederhanakan :

Anda dapat mengonfigurasi Git ke push.default = current untuk membuat hidup lebih mudah:

Saya menambahkannya dengan cara ini, sekarang saya bisa mendorong cabang baru ke hulu

 $ git push -u 

-u akan melacak cabang jarak jauh dengan nama yang sama. Tidak, dengan konfigurasi ini, Anda secara otomatis menebak tautan jarak jauh ke Git push. Dari dokumentasi git.config :

push.default

Menentukan tindakan push Git yang akan dilakukan kecuali secara spesifik menentukan refspec.

push.default = current - klik pada cabang saat ini untuk memperbarui cabang menggunakan nama yang sama di sisi penerima. Bekerja di alur kerja pusat dan non-sentral.

Bagi saya, ini adalah penyederhanaan yang bagus dari alur kerja Git harian saya. Dalam pengaturan konfigurasi, "normal" use case dilakukan ketika Anda menambahkan cabang secara lokal dan ingin membuatnya jarak jauh. Selain itu, saya dapat dengan mudah membuat cabang lokal dari remote dengan hanya melakukan git co remote_branch_name (bukan menggunakan flag --set-upstream-to ).

Saya tahu pertanyaan ini, dan jawaban yang diterima cukup lama, tetapi perilakunya telah berubah, jadi sekarang ada opsi konfigurasi yang menyederhanakan alur kerja Anda.

Untuk menambahkan Git ke konfigurasi global Anda, jalankan di baris perintah:

 $ git config --global push.default current 
192
28 нояб. Jawabannya diberikan oleh Jesper Rønn-Jensen pada 28 November. 2014-11-28 12:46 '14 pada 12:46 2014-11-28 12:46

Pertama Anda membuat cabang secara lokal:

 git checkout -b <branch-name> # Create a new branch and check it out 

Cabang jarak jauh secara otomatis dibuat ketika Anda mengkliknya pada server jarak jauh. Karena itu, ketika Anda merasa siap untuk ini, Anda bisa melakukan:

 git push <remote-name> <branch-name> 

Di mana <remote-name> biasanya origin , nama yang diberikan git ke klon yang Anda hapus. Maka kolega Anda hanya akan menarik cabang ini, dan itu akan secara otomatis dibuat secara lokal.

Perhatikan bahwa format formal adalah:

 git push <remote-name> <local-branch-name>:<remote-branch-name> 

Tetapi ketika Anda menjatuhkan satu, itu mengasumsikan bahwa kedua cabang itu sama. Setelah mengatakan ini sebagai peringatan , jangan membuat kesalahan kritis ketika hanya menentukan :<remote-branch-name> (dengan titik dua), atau cabang jarak jauh akan dihapus!

Agar git pull selanjutnya tahu apa yang harus dilakukan, Anda bisa menggunakan:

 git push --set-upstream <remote-name> <local-branch-name> 

Seperti dijelaskan di bawah ini, opsi --set-upstream menetapkan cabang upstream:

Untuk setiap cabang, saat ini atau berhasil diklik, ditambahkan hulu (pelacakan), argumen yang digunakan kurang dari git -pull (1) dan perintah lainnya.

3020
05 окт. Balas Ikke 05 Oktober. 2009-10-05 12:29 '09 pada 12:29 2009-10-05 12:29

Anda harus terlebih dahulu membuat cabang lokal.

 git checkout -b your_branch 

Setelah itu Anda dapat bekerja secara lokal di cabang Anda, ketika Anda siap untuk berbagi cabang, klik itu. Perintah berikut menekan cabang ke sumber repositori jarak jauh dan melacaknya.

 git push -u origin your_branch 

Teman dapat mencapai cabang Anda dengan melakukan:

 git fetch git checkout origin/your_branch 

Anda dapat terus bekerja di cabang dan mengklik kapan saja Anda inginkan, tanpa meneruskan argumen ke git push (tanpa argumen, git push menekan wizard ke wizard jarak jauh, your_branch lokal ke remote your_branch, dll.)

 git push 

Teman dapat mengklik cabang Anda, melakukan, dan kemudian secara eksplisit mengklik

 ... work ... git commit ... work ... git commit git push origin HEAD:refs/heads/your_branch 

Atau lacak cabang untuk menghindari argumen git push

 git checkout --track -b your_branch origin/your_branch ... work ... git commit ... work ... git commit git push 
742
26 июля '11 в 4:09 2011-07-26 04:09 jawabannya diberikan dseminara 26 Juli '11 di 4:09 2011-07-26 04:09

Sebagaimana dinyatakan dalam balasan sebelumnya,

 git push <remote-name> <local-branch-name>:<remote-branch-name> 

cukup untuk mengklik cabang lokal.

Rekan Anda dapat menampilkan semua cabang jarak jauh (termasuk yang baru) menggunakan perintah ini:

 git remote update 

Kemudian, untuk membuat perubahan pada cabang, aliran normal:

 git checkout -b <local-branch-name> <remote-name>/<remote-branch-name> 
62
27 дек. balasan yang diberikan oleh Lucian 27 Des 2011-12-27 17:12 '12 jam 5:12 sore 2011-12-27 17:12

Buat cabang baru secara lokal berdasarkan cabang saat ini:

 git checkout -b newbranch 

Komit setiap perubahan seperti biasa. Kemudian dorong ke atas:

 git push -u origin HEAD 

Ini adalah jalan pintas untuk cabang saat ini untuk pergi ke cabang dengan nama yang sama pada origin dan melacaknya sehingga Anda tidak perlu menentukan origin HEAD di masa depan.

39
24 февр. Jawabannya diberikan oleh Zenexer 24 Feb. 2014-02-24 17:58 '14 pada 17:58 2014-02-24 17:58

Jika Anda hanya ingin membuat cabang jarak jauh tanpa cabang lokal, Anda dapat melakukannya seperti ini:

 git push origin HEAD:refs/heads/foo 

Ini mendorong semua KEPALA Anda harus menonaktifkan foo, yang tidak ada di remote control.

27
25 нояб. Jawabannya diberikan Tassadar 25 Nov. 2015-11-25 18:29 '15 pada 18:29 2015-11-25 18:29

Pertama, Anda membuat cabang secara lokal:

 git checkout -b your_branch 

Dan kemudian untuk membuat cabang dari jarak jauh:

 git push --set-upstream origin your_branch 

Catatan Ini bekerja dengan versi git:

 $ git --version git version 2.3.0 

Hore!

21
22 апр. Balas diberikan oleh ipegasus 22 Apr 2015-04-22 02:43 '15 pada 2:43 2015-04-22 02:43

Jika Anda ingin membuat cabang dari cabang saat ini

 git checkout -b {your_local_branch_name} 

Anda memerlukan cabang dari cabang jarak jauh, Anda dapat mencoba

 git checkout -b {your_local_branch_name} origin/<remote_branch_name> 

Jika Anda selesai dengan perubahan, Anda dapat menambahkan file.

 git add -A or git add <each_file_names> 

Kemudian lakukan secara lokal.

 git commit -m 'your commit message' 

Jika Anda ingin mengklik repo jarak jauh

 git push -u origin <your_local_branch_name> 

Bersama-sama akan melakukannya

 git checkout -b bug_fixes 

atau Jika Anda ingin membuat cabang dari cabang jarak jauh, katakan pengembangan

git checkout -b bug_fixes asal / pengembangan

Anda dapat mengklik cabang untuk repo jarak jauh

 git push -u origin **bug_fixes** 

Kapan saja Anda ingin memperbarui cabang dari cabang lain, beri tahu wizard .

git pull origin master .

17
01 мая '16 в 9:12 2016-05-01 09:12 jawabannya diberikan sreekumar 01 Mei '16 pukul 9:12 2016-05-01 09:12

Buat cabang di mesin lokal dan aktifkan cabang ini:

 $ git checkout -b [name_of_your_new_branch] 

Klik cabang di github:

 $ git push origin [name_of_your_new_branch] 

Jika Anda ingin memperbaiki sesuatu di cabang Anda, pastikan Anda berada di cabang Anda.

Anda dapat melihat semua cabang dibuat dengan:

 $ git branch 

Apa yang akan ditampilkan:

 * approval_messages master master_clean 

Tambahkan remote baru untuk cabang Anda:

 $ git remote add [name_of_your_remote] 

Klik perubahan dari komit Anda di utas Anda:

 $ git push origin [name_of_your_remote] 

Perbarui cabang saat cabang asli dari repositori resmi diperbarui:

 $ git fetch [name_of_your_remote] 

Maka Anda perlu mengajukan permohonan untuk menggabungkan perubahan, jika cabang Anda dibuat dari pengembangan, Anda harus melakukan:

 $ git merge [name_of_your_remote]/develop 

Hapus cabang di sistem file lokal:

 $ git branch -d [name_of_your_new_branch] 

Untuk memaksa cabang lokal pada sistem file Anda:

 $ git branch -d [name_of_your_new_branch] 

Hapus cabang di github:

 $ git push origin :[name_of_your_new_branch] 

Ini semua informasinya.

Proyek lain yang sudah ada

15
27 мая '16 в 14:39 2016-05-27 14:39 jawabannya diberikan Numan Turkeri 27 Mei 16 di 14:39 2016-05-27 14:39

Solusi termudah ... Drumm Roll. git versi 2.10.1 (Apple Git -78)

 1) git checkout -b localBranchNameThatDoesNotExistInRemote 2) Do your changes , and go a git commit 3) git push origin localBranchNameThatDoesNotExistInRemote --force 

NB - Cabang yang saat ini Anda gunakan di komputer lokal, dan cabang tidak ada jauh di mana Anda mencoba mengklik harus memiliki nama yang sama .

10
18 марта '17 в 9:23 2017-03-18 09:23 jawabannya diberikan pada 18 Maret '17 lemah di 9:23 2017-03-18 09:23

Sekarang dengan git, Anda cukup mengetik saat Anda berada di cabang yang benar.

git push --set-upstream origin <remote-branch-name >

dan git buat cabang asal untuk Anda.

8
27 окт. jawaban yang diberikan oleh Maurizio Brioschi 27 Oktober. 2014-10-27 20:05 '14 pukul 20:05 2014-10-27 20:05

Saya tahu bahwa pertanyaan ini dijawab dengan baik, tetapi saya hanya ingin membuat daftar >

 # create new branch and checkout that branch git checkout -b myNewBranch # now push branch to remote git push origin myNewBranch # set up the new branch to track remote branch from origin git branch --set-upstream-to=origin/myNewBranch myNewBranch 
7
23 окт. jawabannya diberikan sufinawaz 23 Oktober. 2014-10-23 17:09 '14 pukul 17:09 2014-10-23 17:09

Hanya ingin menambahkan itu sementara:

 git checkout -b {branchName} 

Membuat cabang baru, itu juga memeriksa bahwa cabang / menjadikannya cabang saat ini. Jika karena alasan tertentu yang ingin Anda lakukan adalah menonaktifkan cabang, tetapi jangan menjadikannya cabang saat ini, maka Anda akan menggunakan perintah berikut:

 git branch {branchName} 

Pada perintah pertama, "checkout" menjadikan cabang yang ditentukan sebagai cabang Anda saat ini, dan "-b" berarti: cabang ini belum ada, jadi lakukanlah untuk saya.

6
30 марта '15 в 17:02 2015-03-30 17:02 Jawaban diberikan oleh Brian Sachetta pada 30 Maret '15 pukul 17:02 2015-03-30 17:02

Membuat cabang lokal dari cabang yang ada (mungkin menguasai / mengembangkan / cabang lainnya).

git checkout -b dir_name

Tekan tombol ini pada remote control.

git push -u data_name local_branch_name: remote_branch_name

Di sini

  • -u: menginstal cabang hulu
  • dalname: git menetapkan nama default menjadi "sumber" saat membuat repositori. Namun, ini dapat diubah menjadi nama lain yang sewenang-wenang.
  • local_branch_name: nama cabang lokal yang akan ditekan.
  • remote_branch_name: nama cabang jarak jauh yang ingin kita buat di komputer jarak jauh.

Jika kami menghapus nama cabang lokal dan jarak jauh, itu akan memiliki format

git push -u data_name memory_name

Ini akan menghapus cabang lokal dengan nama yang sama dengan nama cabang. Cabang lokal juga akan melacak cabang jarak jauh.

5
15 февр. Jawabannya diberikan oleh iosCurator 15 Feb. 2017-02-15 09:57 '17 pada 9:57 2017-02-15 09:57

Cara membuat melalui pohon sumber

  1: Open SourceTree, click on Repository -> Checkout 2 :Click on Create New Branch 3: Select branch where from you want to get code for new branch 4: Give your branch name 5: Push the branch (by click on Push button) 
4
21 июля '15 в 14:27 2015-07-21 14:27 jawabannya diberikan oleh Monis Majeed 21 Juli '15 pada 14:27 2015-07-21 14:27

git push -u <remote-name> <branch-name> tidak berfungsi jika cabang yang baru dibuat tidak dibuat dari repo yang sama, mis. jika Anda belum membuat cabang baru dengan git checkout -b new_branch , maka ini tidak akan berfungsi.

Sebagai contoh, saya mengkloning dua repositori berbeda secara lokal, dan saya harus menyalin repo2 / branch1 ke repo1 /, dan kemudian juga mengkliknya.

Tautan ini membantu saya mengarahkan kembali cabang lokal saya (diklon dari repo lain) ke repo jarak jauh saya:

3
25 февр. jawabannya diberikan brokenfoot 25 Feb 2014-02-25 00:38 '14 pada 0:38 2014-02-25 00:38

Inilah cara Anda melakukannya di gerhana melalui Egit.

1) Buka tampilan "Git Repository Exploring" dan jelaskan proyek git yang ingin Anda buat cabang. Di bagian Brances → Local .., pilih cabang yang ingin Anda buat cabang (dalam kasus saya, saya memilih master .. Anda dapat memilih cabang lain yang berbeda jika diinginkan) .. lalu klik kanan dan pilih opsi Buat Cabang. dan pilih opsi checkout proyek ini, dan kemudian klik tombol selesai.

2) Sekarang, dari proyek explorer, pilih proyek .. klik kanan Tim → Push Branch.

Cabang jarak jauh baru akan dibuat. Anda dapat menentukan nama cabang untuk kolega Anda sehingga mereka dapat menariknya.

3
01 февр. jawabannya diberikan user2225713 01 Feb. 2014-02-01 02:46 '14 pada 2:46 2014-02-01 02:46

Pertanyaan lain tentang atau Ajukan Pertanyaan