Pertanyaan Bagaimana Anda membuat cabang Git jarak jauh?


Saya membuat cabang lokal yang saya ingin 'mendorong' ke hulu. Ada pertanyaan serupa di sini di Stack Overflow 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 hulu ketika saya puas dan ingin berbagi cabang saya.

  • Bagaimana saya melakukannya? (pencarian google saya tampaknya tidak muncul dengan apa pun).
  • Bagaimana saya memberitahu rekan saya untuk menariknya dari tempat penyimpanan hulu?

UPDATE Dengan Git 2.0 ada jawaban yang lebih sederhana Saya telah menulis di bawah ini: https://stackoverflow.com/a/27185855/109305


2705
2017-10-05 09:21


asal


Jawaban:


Pertama, Anda membuat cabang Anda secara lokal:

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

Cabang terpencil secara otomatis dibuat ketika Anda mendorongnya ke server jauh. Jadi ketika Anda merasa siap untuk itu, Anda bisa melakukannya:

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

Dimana <remote-name> biasanya origin, nama yang diberikan git ke remote yang dikloning. Rekan-rekan Anda kemudian hanya akan menarik cabang itu, dan itu secara otomatis dibuat secara lokal.

Namun perlu dicatat bahwa secara formal, formatnya adalah:

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

Tetapi ketika Anda menghilangkan satu, ia menganggap kedua nama cabang itu sama. Setelah mengatakan ini, sebagai kata dari peringatan, jangan membuat kesalahan kritis dengan menentukan saja :<remote-branch-name> (dengan titik dua), atau cabang jarak jauh akan dihapus!

Sehingga selanjutnya git pull akan tahu apa yang harus dilakukan, Anda mungkin ingin menggunakan:

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

Seperti yang dijelaskan di bawah ini, --set-upstream opsi membuat cabang hulu:

Untuk setiap cabang yang up to date atau   berhasil didorong, tambahkan hulu   (Pelacakan) referensi, digunakan oleh   Argumen-kurang git-pull (1) dan lainnya   perintah.


3288
2017-10-05 09:29



Pertama, Anda harus membuat cabang Anda secara lokal

git checkout -b your_branch

Setelah itu, Anda dapat bekerja secara lokal di cabang Anda, ketika Anda siap untuk berbagi cabang, dorong. Perintah selanjutnya mendorong cabang ke asal repositori jarak jauh dan melacaknya

git push -u origin your_branch

Rekan tim dapat mencapai cabang Anda, dengan melakukan:

git fetch
git checkout origin/your_branch

Anda dapat terus bekerja di cabang dan mendorong kapan pun Anda mau tanpa melewati argumen ke git push (tanpa argumen git push akan mendorong master ke master jarak jauh, your_branch lokal ke remote your_branch, dll ...)

git push

Rekan tim dapat mendorong ke cabang Anda dengan melakukan commit dan kemudian mendorong secara eksplisit

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

Atau melacak cabang untuk menghindari argumen ke git push

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push

796
2017-07-26 01:09



Solusi Git 2.0+ sederhana:

Seperti Git 2.0, perilakunya menjadi lebih sederhana:

Anda dapat mengonfigurasi git dengan push.default = current untuk membuat hidup lebih mudah:

Saya menambahkan ini jadi sekarang saya bisa mendorong cabang baru ke hulu dengan

$ git push -u

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

push.default 

Menentukan tindakan yang harus dilakukan oleh git push jika tidak ada refspec yang secara eksplisit diberikan.

push.default = current - Dorong cabang saat ini untuk memperbarui cabang dengan   nama yang sama di bagian penerima. Bekerja di kedua alur kerja pusat dan non-pusat.

Bagi saya, ini adalah penyederhanaan yang baik dari alur kerja Git saya sehari-hari. Pengaturan konfigurasi menangani kasus penggunaan 'biasa' di mana Anda menambahkan cabang secara lokal dan ingin membuatnya secara jarak jauh. Juga, saya dapat dengan mudah membuat cabang lokal dari jarak jauh hanya dengan melakukan git co remote_branch_name (Berbeda dengan menggunakan --set-upstream-to bendera).

Saya tahu pertanyaan ini dan jawaban yang diterima agak lama, tetapi perilaku telah berubah sehingga sekarang opsi konfigurasi ada untuk membuat alur kerja Anda lebih sederhana.

Untuk menambah konfigurasi Git global Anda, jalankan ini pada baris perintah:

$ git config --global push.default current

241
2017-11-28 09:46



Sebagaimana dinyatakan dalam jawaban sebelumnya,

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

cukup untuk mendorong cabang lokal.

Rekan Anda, dapat menarik semua cabang jarak jauh (termasuk yang baru) dengan perintah ini:

git remote update

Kemudian, untuk melakukan perubahan pada cabang, aliran biasa:

git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>

65
2017-12-27 14:12



Buat cabang baru secara lokal berdasarkan pada cabang saat ini:

git checkout -b newbranch

Lakukan perubahan apa pun seperti biasanya. Kemudian, dorong ke hulu:

git push -u origin HEAD

Ini adalah cara pintas untuk mendorong cabang saat ini ke cabang dengan nama yang sama origin dan lacaklah sehingga Anda tidak perlu menentukan origin HEAD di masa depan.


48
2018-02-24 14:58



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

git push origin HEAD:refs/heads/foo

Ini mendorong apa pun KEPALA Anda untuk bercabang foo yang tidak ada di kendali jarak jauh.


32
2017-11-25 15:29



Jika Anda ingin membuat cabang dari cabang saat ini

git checkout -b {your_local_branch_name} 

Anda menginginkan cabang dari cabang terpencil, 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 komit secara lokal

git commit -m 'your commit message'

Ketika Anda ingin mendorong ke repo jarak jauh

git push -u origin <your_local_branch_name>

Semua akan bersama

git checkout -b bug_fixes 

atau Jika Anda ingin membuat cabang dari cabang terpencil katakan pengembangan 

git checkout -b perbaikan kerusakan asal/pengembangan

Anda dapat mendorong ke cabang untuk repo jarak jauh dengan

git push -u origin **bug_fixes**

Kapan saja Anda ingin memperbarui cabang Anda dari cabang lain katakan menguasai.

git pull origin master.


23
2018-05-01 06:12



Pertama Anda membuat cabang secara lokal:

git checkout -b your_branch

Lalu untuk membuat cabang dari jarak jauh:

git push --set-upstream origin your_branch

Catatan: Ini berfungsi pada versi terbaru git:

$ git --version
git version 2.3.0

Tepuk tangan!


22
2018-04-21 23:43



Buat cabang di komputer lokal Anda dan aktifkan di cabang ini:

$ git checkout -b [name_of_your_new_branch]

Dorong cabang di github:

$ git push origin [name_of_your_new_branch]

Ketika Anda ingin melakukan sesuatu di cabang Anda, pastikan untuk berada di cabang Anda.

Anda dapat melihat semua cabang yang dibuat dengan menggunakan:

$ git branch

Yang akan menunjukkan:

* approval_messages
  master
  master_clean

Tambahkan remote baru untuk cabang Anda:

$ git remote add [name_of_your_remote] 

Dorong perubahan dari komitmen Anda ke cabang Anda:

$ git push origin [name_of_your_remote]

Perbarui cabang Anda ketika cabang asli dari repositori resmi telah diperbarui:

$ git fetch [name_of_your_remote]

Maka Anda perlu mengajukan permohonan untuk menggabungkan perubahan, jika cabang Anda diturunkan dari pengembangan yang perlu Anda lakukan:

$ git merge [name_of_your_remote]/develop

Hapus cabang pada sistem file lokal Anda:

$ git branch -d [name_of_your_new_branch]

Untuk memaksa penghapusan cabang lokal di sistem file Anda:

$ git branch -D [name_of_your_new_branch]

Hapus cabang di github:

$ git push origin :[name_of_your_new_branch]

Di sini Semua Informasi

Proyek Lain yang Ada


16
2018-05-27 11:39