Artikel ini terdengar menarik, tapi saya'm cukup yakin diagram adalah salah. http://guides.beanstalkapp.com/version-control/branching-best-practices.html
Seharusnya't itu menjadi PEMBANGUNAN
> PEMENTASAN
> PRODUKSI
?
Menyatu seharusnya hanya mengalir dalam satu arah: dari fitur dan perbaikan bug dilakukan di cabang sendiri atau dalam perkembangan menjadi pementasan untuk pengujian. Setelah diuji, anda dapat menggabungkan perubahan-perubahan dari pengembangan ke produksi.
Di sini saya mendapatkan sedikit bingung. Jadi saya menggabungkan Pementasan untuk Master atau Master untuk Pementasan?
I'm menggunakan klien disebut SmartGit dan saya bingung tentang hal ini. Biasanya saya membuat cabang untuk fitur, berkomitmen untuk itu, kemudian beralih ke master dan bergabung ke cabang (maju). Jadi dalam hal ini, alur kerja baru dengan Pementasan dan Produksi, saya membuat dua cabang tambahan, kemudian membuat cabang dari master (alias dev) untuk fitur saya. Berkomitmen untuk itu, kemudian beralih ke Pementasan dan bergabung (ke depan) saya memiliki cabang? Apakah suara itu benar?
Sebenarnya apa yang membuat ini begitu membingungkan adalah bahwa Kacang orang-orang yang berdiri di belakang mereka sangat non-standar penggunaan Pementasan (datang sebelum pembangunan dalam diagram, dan's bukan kesalahan! https://twitter.com/Beanstalkapp/status/306129447885631488
Telah memutuskan untuk melupakan Kacang dan hanya dengan Github.
Sejak saya memposting ini, the Beanstalk orang-orang yang mengambil petunjuk dan berganti nama menjadi tahap mereka, yang sekarang menyebut Pengembangan "Stabil".
Proses berpikir di sini adalah bahwa anda menghabiskan sebagian besar waktu anda dalam pembangunan
. Ketika dalam pengembangan, anda membuat sebuah fitur
cabang (off pembangunan
), lengkap fitur, dan kemudian bergabung kembali ke pembangunan
. Hal ini kemudian dapat ditambahkan ke versi produksi akhir oleh penggabungan menjadi produksi
.
Lihat Sukses Git Model Percabangan untuk detail lebih lanjut tentang pendekatan ini.
Kami melakukan hal yang berbeda. IMHO kita melakukannya dengan cara yang lebih mudah: di master
kami sedang bekerja pada versi utama berikutnya.
Masing-masing lebih besar fitur mendapat cabang sendiri (berasal dari guru) dan akan rebased (+ kekuatan yang mendorong) di atas master secara teratur oleh pengembang. Rebasing hanya bekerja dengan baik jika satu pengembang bekerja pada fitur ini. Jika fitur ini selesai, itu akan menjadi segar rebased ke master dan kemudian master cepat diteruskan ke fitur terbaru komit.
Untuk menghindari rebasing/dipaksa mendorong satu juga dapat menggabungkan master perubahan secara teratur untuk fitur cabang dan jika itu's selesai menggabungkan fitur cabang ke master (normal menggabungkan atau labu merge). Tapi IMHO hal ini membuat fitur branch kurang jelas dan membuatnya jauh lebih sulit untuk menyusun ulang/pembersihan komit.
Jika rilis baru datang, kita membuat sisi-cabang keluar dari master, misal rilis-5
di mana hanya bug diperbaiki.
Sebenarnya apa yang membuat ini begitu membingungkan adalah bahwa Kacang orang-orang yang berdiri di belakang mereka sangat non-standar penggunaan Pementasan (datang sebelum pembangunan dalam diagram, dan's bukan kesalahan!
salah satu hal terbaik tentang git adalah bahwa anda dapat mengubah alur kerja yang bekerja yang terbaik untuk anda.. saya menggunakan http://nvie.com/posts/a-successful-git-branching-model/ sebagian besar waktu, tetapi anda dapat menggunakan alur kerja yang sesuai dengan kebutuhan anda