Rumah > Soal Jawab > teks badan
目前开发的项目采用git作为版本管理工具,
平时开发有两个分支,develop和master
在develop上开发,
在master发布正式版本。
目前有这样一种情况:
有一个设计好的功能,由于种种原因,在develop分支上开发完成后不能正常使用,
需要使用另一个补救性的设计方案临时代替,此代替方案需要上线,发布到master里面
当原功能成熟后,再删除这个补救方法,切换回原有的功能
请问我该使用哪种git分支策略?
我想大声告诉你2017-05-02 09:22:14
Syorkan kaedah permintaan gabungan dalam aliran Gitlab
Cawangan induk dan membangunkan tidak dibenarkan ditolak terus
tuan = pengeluaran
membangunkan = keluaran seterusnya
Apabila terdapat keperluan baharu, cipta ciri cawangan keperluan/aaa
Cipta permintaan gabungan
selepas pembangunan selesai
Gabung feature/aaa
ke develop
cawangan
selepas semakan kod
Gabung develop
cawangan ke master
apabila pergi dalam talian
Keluarkan master
cawangan
Untuk soalan poster, anda boleh melakukan ini
Cipta cawangan baharu feature/aaa
berdasarkan feature/bbb
Selepas menyelesaikan kerja pemulihan, gabungkannya menjadi develop
, master
dan kemudian pergi ke dalam talian
.
Teruskan pembangunan feature/aaa
dan akhirnya menggabungkannya menjadi develop
, master
PHP中文网2017-05-02 09:22:14
Anda boleh merujuk aliran kerja git
adalah kira-kira master
cawangan daripada checkout
cawangan hotfixes
. Tulis remedi dalam hotfixes
, kemudian merge
ke master
dan develop
masing-masing. Pada ketika ini, anda boleh memadamkan cawangan hotfixes
ini.
Kemudian bangun dan perbaiki fungsi anda daripada cawangan develop
, dan akhirnya letakkan cawangan develop
merge
kepada master
dalam talian.
Mungkin ada cara yang lebih baik, hanya untuk rujukan
PHP中文网2017-05-02 09:22:14
develop(未开发新功能)-> develop(已开发新功能,新功能不可用)-> develop(继续完善到可用)
└───> fix(补救) ╲
└───> master(记得在~1版本打 tag 哦) ╲ merge
master(tag)<────────────────────────────┘ ↘
└───────────────────────────────────────────────> master
phpcn_u15822017-05-02 09:22:14
Bantu poster selesaikan masalah ini dahulu.
Strategi cawangan poster tidak memerlukan pemprosesan khas Ia boleh dikendalikan dengan baik dengan mengikut proses biasa dan menggabungkan fungsi git:
Menurut pemahaman saya, "fungsi asal" dan "penyelesaian pemulihan" yang disebut oleh poster adalah penyerahan kod biasa. Perkara yang dikelirukan oleh poster ialah cara menangani masalah bahawa penyelesaian remedi sementara akhirnya akan dibuang (digulung semula), jadi menggunakan arahan git revert yang disebutkan di atas harus memenuhi jangkaan poster. Ini bukan sahaja memastikan bahawa semua operasi pada asas kod boleh direkodkan dalam trunk (master, develop), tetapi juga mengelakkan masalah seperti model cawangan yang kompleks.
Selain itu, saya tidak tahu sama ada strategi percabangan yang digunakan oleh poster mengikut aliran kerja yang disebut oleh @rsj217. Jika membangunkan adalah cawangan pembangunan utama untuk semua pembangun, saya fikir adalah lebih baik untuk membangunkan untuk menyerahkan ciri yang belum selesai secara langsung tanpa menerimanya. Dalam kerja pembangunan harian, terutamanya dalam kes pembangunan selari berbilang ciri/cawangan, berbilang cawangan ciri boleh mengelakkan gangguan antara satu sama lain.
Kembali kepada soalan poster asal, reka bentuk yang tidak boleh digunakan ini boleh terus dibangunkan dan tidak boleh digabungkan menjadi pembangunan. Berdasarkan cawangan ini, semak cawangan pembangunan untuk ciri pemulihan Selepas ujian selesai, gabungkannya ke dalam pembangunan untuk memasuki proses keluaran. Cadangan penggabungan dan pengembalian berikut masih diperlukan Jangan langgar proses dan lakukan pemprosesan khas melainkan anda perlu melakukannya, semua operasi komit dikekalkan dengan cara ini.
怪我咯2017-05-02 09:22:14
Adalah disyorkan untuk merujuk kepada cabang induk aliran kerja git yang dibangunkan digunakan untuk keluaran pembangunan digunakan untuk mengeluarkan versi baharu pembaikan terbaru digunakan untuk membetulkan pepijat dalam talian dan operasi kecemasan lain
高洛峰2017-05-02 09:22:14
Katakan cawangan remedi anda berkembang1 Selepas pergi ke dalam talian, develop1 dan master akan digabungkan bersama untuk menjadi master baru Selepas cawangan berfungsi asal matang dan stabil, ia akan digabungkan menjadi master baru (ia berkemungkinan besar bercanggah). Padamkan bahagian develop1 dan ujian akan masuk dalam talian tanpa sebarang masalah. Ia agak menyusahkan, dan mungkin sedikit bodoh, tetapi setiap kali git bergabung, titik baharu dijana ke hadapan anda kehilangan sesuatu tidak lama lagi?
Mungkin ada cara yang lebih baik, hanya untuk rujukan
我想大声告诉你2017-05-02 09:22:14
Jika anda menghadapi kesukaran membaca model percabangan Git yang berjaya, anda boleh membaca terjemahan model percabangan Git yang berjaya oleh Juven Xu
巴扎黑2017-05-02 09:22:14
Menggunakan git-flow akan membantu anda Anda boleh menggunakan arahan mudah untuk membantu anda membuat dan melengkapkan cawangan. Dan terdapat keluaran piawai, pembaikan terkini dan aliran kerja ciri