Membuat branch di Git dari cabang lain

Saya memiliki dua cabang: master dan dev

Saya ingin membuat "fitur branch" dari dev cabang.

Saat ini di cabang dev, yang saya lakukan:

$ git checkout -b myfeature dev

... (pekerjaan)

$ git commit -am "blablabla"
$ git push origin myfeature

Tapi, setelah memvisualisasikan cabang saya, saya punya:

--**master**
------0-----0-----0-----0-----0
------------------------**dev**----**myfeature**

Aku berarti bahwa cabang tampaknya ff bergabung, dan saya don't mengerti mengapa...

Apa yang saya'm lakukan salah?

Bisa anda jelaskan saya silahkan bagaimana anda cabang dari cabang lain dan mendorong kembali ke remote repository untuk memiliki cabang?

Semua yang di percabangan model seperti yang dijelaskan di sini.

Larutan

Jika anda suka metode dalam link anda've diposting, silahkan lihat di Git Aliran.

It's sekumpulan skrip yang ia ciptakan untuk alur kerja yang.

Tapi untuk menjawab pertanyaan anda:

$ git checkout -b myFeature dev

Menciptakan MyFeature cabang dari dev. Melakukan pekerjaan anda dan kemudian

$ git commit -am "Your message"

Sekarang menggabungkan perubahan anda ke dev tanpa cepat maju

$ git checkout dev
$ git merge --no-ff myFeature

Sekarang mendorong perubahan ke server

$ git push origin dev
$ git push origin myFeature

Dan anda'll melihat itu bagaimana anda inginkan.

Komentar (13)

Jika anda ingin membuat cabang baru dari setiap cabang yang ada di Git, hanya mengikuti pilihan.

Perubahan pertama/checkout ke cabang di mana anda ingin membuat cabang baru. Misalnya, jika anda memiliki yang berikut cabang-cabang seperti:

  • master
  • dev
  • branch1

Jadi jika anda ingin membuat cabang baru yang disebut "subbranch_of_b1" di bawah cabang bernama "branch1" ikuti langkah-langkah:

  1. Checkout atau berubah menjadi "branch1"

git checkout branch1

  1. Sekarang membuat cabang baru yang disebut "subbranch_of_b1" bawah "branch1" menggunakan perintah berikut.

git checkout -b subbranch_of_b1 branch1

Hal di atas akan membuat cabang baru yang disebut subbranch_of_b1 di bawah cabang branch1 (perhatikan bahwa branch1 perintah di atas isn't wajib sejak KEPALA saat ini menunjuk ke itu, anda dapat tepat jika anda berada di cabang berbeda meskipun).

  1. Sekarang setelah bekerja dengan subbranch_of_b1 anda dapat melakukan dan mendorong atau menggabungkan secara lokal atau jarak jauh.

mendorong subbranch_of_b1 untuk remote

 git push origin subbranch_of_b1 
Komentar (7)

Membuat Cabang

  • Buat cabang cabang master adalah memeriksa. Di sini melakukan master akan disinkronkan ke cabang anda buat.

$ git branch branch1

  • Buat cabang ketika branch1 adalah memeriksa . Di sini melakukan branch1 akan disinkronkan ke branch2

    $ git branch branch2


Checkout Cabang

git checkout perintah switch cabang atau mengembalikan file tree kerja

  • $ git checkout branchname

Nama Cabang

  • $ git branch -m branch1 newbranchname

Menghapus Cabang

  • $ git branch -d cabang-untuk-menghapus
  • $ git branch -D cabang-untuk-menghapus ( memaksa penghapusan tanpa memeriksa digabung status )

Membuat dan Beralih Cabang

  • $ git checkout -b branchname

Cabang-cabang yang benar-benar termasuk

  • $ git branch --bergabung


** Branch Perbedaan [ git diff branch1..branch2 ] ****

Multiline perbedaan

  • $ git diff master..branch1

Singleline perbedaan

  • $ git diff --warna-kata-kata branch1..branch2
Komentar (1)

Lakukan secara simultan bekerja pada dev cabang. Apa yang terjadi adalah bahwa dalam skenario anda yang memiliki cabang bergerak maju dari ujung dev cabang, tapi dev cabang tidak berubah. It's mudah untuk menggambar garis lurus, karena itu dapat dianggap sebagai gerak maju. Anda membuat titik A pada dev, dan dari sana anda hanya terus pada jalan paralel. Dua cabang belum benar-benar menyimpang.

Sekarang, jika anda melakukan commit pada dev, sebelum bergabung, anda akan mulai lagi pada saat yang sama melakukan, A, tapi sekarang fitur akan pergi ke dev C dan B. hal Ini akan menunjukkan split anda mencoba untuk memvisualisasikan, seperti cabang-cabang sekarang telah menyimpang.

*-----*Dev-------*Feature

Terhadap

       /----*DevB
*-----*DevA
       \----*FeatureC
Komentar (0)

Git 2.23 memperkenalkan git switch dan gitmengembalikan untuk membagi tanggung jawab git checkout

Membuat cabang baru dari yang sudah ada branch pada git 2.23:

git switch-c saya-baru-cabang

Beralih ke cabang baru 'saya-baru-cabang'

  • -c adalah singkatan - membuat dan menggantikan terkenal git checkout -b

Lihat ini Github posting blog yang menjelaskan perubahan secara lebih rinci:

Git 2.23 membawa sepasang baru eksperimental perintah ke suite yang ada orang-orang: git beralih dan git restore. Dua ini dimaksudkan untuk akhirnya memberikan antarmuka yang lebih baik untuk terkenal git checkout. Baru perintah berniat untuk masing-masing mempunyai pemisahan yang jelas, rapi membagi-bagi apa yang banyak tanggung jawab git checkout

Komentar (0)

Jika anda ingin membuat sebuah cabang dari beberapa cabang lain kemudian ikuti langkah-langkah di bawah ini:

Asumsi:

  1. Anda sedang berada di cabang master.
  2. Anda tidak memiliki perubahan untuk melakukan. (Jika anda memiliki perubahan untuk melakukan, simpanan itu!).
  3. BranchExisting adalah nama cabang dari yang anda butuhkan untuk membuat cabang baru dengan nama BranchMyNew.

Langkah-langkah:

  1. Mengambil cabang ke mesin lokal anda.

$ git fetch asal BranchExisting : BranchExisting

Perintah ini akan membuat cabang baru di daerah anda sama dengan nama cabang.

  1. Sekarang, dari cabang master checkout yang baru diambil cabang

$ git checkout BranchExisting

  1. Anda sekarang berada di BranchExisting. Sekarang buat cabang baru ini ada cabang.

$ git checkout -b BranchMyNew

Di sini anda pergi!

Komentar (0)

Untuk menciptakan sebuah cabang dari satu sama lain dapat menggunakan sintaks ini juga:

git push origin refs/heads/:refs/heads/

Itu adalah sedikit lebih pendek dari "git checkout -b " + "git push origin "

Komentar (0)