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.
839
7
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:
Menciptakan MyFeature cabang dari dev. Melakukan pekerjaan anda dan kemudian
Sekarang menggabungkan perubahan anda ke dev tanpa cepat maju
Sekarang mendorong perubahan ke server
Dan anda'll melihat itu bagaimana anda inginkan.
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:
Jadi jika anda ingin membuat cabang baru yang disebut "subbranch_of_b1" di bawah cabang bernama "branch1" ikuti langkah-langkah:
git checkout branch1
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).mendorong subbranch_of_b1 untuk remote
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
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.
Terhadap
Git 2.23 memperkenalkan
git switch
dan gitmengembalikan
untuk membagi tanggung jawabgit 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'
Lihat ini Github posting blog yang menjelaskan perubahan secara lebih rinci:
Jika anda ingin membuat sebuah cabang dari beberapa cabang lain kemudian ikuti langkah-langkah di bawah ini:
Asumsi:
BranchExisting
adalah nama cabang dari yang anda butuhkan untuk membuat cabang baru dengan namaBranchMyNew
.Langkah-langkah:
$ git fetch asal BranchExisting : BranchExisting
Perintah ini akan membuat cabang baru di daerah anda sama dengan nama cabang.
$ git checkout BranchExisting
$ git checkout -b BranchMyNew
Di sini anda pergi!
Untuk menciptakan sebuah cabang dari satu sama lain dapat menggunakan sintaks ini juga:
Itu adalah sedikit lebih pendek dari "git checkout -b " + "git push origin "