Segera setelah Anda menyentuh topik melakukan perubahan secara paralel, Anda menyentuh bidang manajemen konfigurasi. Dengan banyak pola, komunitas sendiri (http://www.cmcrossroads.com/) dan alat tidak begitu banyak untuk manajemen versi (seperti svn / git) tetapi untuk dukungan manajemen konfigurasi (pola) seperti clearcase. (daerah yang sama sekali berbeda).
Dalam kasus ini, ini masih merupakan situasi yang sederhana dan Anda akan menemukannya bekerja dengan beberapa keterbatasan dan beberapa pekerjaan manual dan beberapa daftar.
Skenario yang saya pikirkan untuk menjadikannya lebih deskriptif dari solusi ideal: beberapa pengembang bekerja pada basis kode yang sama, beberapa lingkungan pengujian, beberapa lingkungan penerimaan, beberapa lingkungan penerimaan produksi mungkin di seluruh penjuru dunia.
Jika Anda ingin melakukan ini sedikit lebih profesional:
a) tulis daftar semua Item Konfigurasi yang Anda temui, ini bisa berupa kode WordPress itu sendiri, plugin dari eksternal, konten, metadata dan putuskan mana yang ingin Anda bawa di bawah semacam "manajemen", mana yang penting.
b) jelaskan alur kerja yang bisa terjadi misalnya apa yang terjadi dengan perbaikan, apa yang terjadi dengan sesuatu yang baru sedang dikembangkan, dalam hal apa Anda mengubah konten di pihak Anda, apa yang disebut, dan siapa yang melakukannya, siapa pemiliknya misalnya posting baru atau plugin baru.
c) untuk kerja paralel pertama-tama jelaskan CI mana yang ingin Anda kelola, putuskan apakah aliran selalu dari pengembangan ke produksi atau jika benar-benar diperlukan untuk melakukan semuanya dengan dua cara.
d) untuk masing-masing jenis CI pada (a) tuliskan resolusi. Misalnya untuk SEMUA yang merupakan teks (atau teks yang diekspor seperti file php tetapi JUGA teks biasa dalam file XML) penggabungan dimungkinkan. Ini benar-benar tidak ada masalah tetapi Anda membutuhkan alat penggabungan yang baik. mis. Dengan ClearCase Anda akan mendapatkan 3 cara menggabungkan situasi berikut: 1) trivial merge: ia akan melakukan ini secara otomatis 2) non trivial otomatis: ia akan melakukan ini secara otomatis TAPI Anda perlu memeriksanya 3) non trivial non otomatis: ini adalah konflik misalnya pada 1 baris beberapa perubahan telah dibuat. Non-sepele adalah bagian minimal yang perlu Anda tangani secara manual, alat penggabungan yang baik akan membimbing Anda dalam hal ini misalnya yang ada di clearcase (yang juga melakukan penggabungan kata dan di mana Anda dapat menautkan penggabungan komersial atau non komersial lainnya untuk file tertentu jenis). Lebih jauh lagi jika Anda telah mengidentifikasi di bawah (a) file yang harus disalin-saja maka perilakunya tidak akan digabungkan tetapi hanya disalin satu cara menimpa versi lain tanpa penggabungan (mis. Plugin yang belum Anda modifikasi). Banyak dari tipe ini dimungkinkan dengan perilaku yang berbeda. Tapi tuliskan hubungan antara CI,
Kemudian untuk penggabungan non-teks Anda perlu membuat keputusan tentang cara menanganinya misalnya gambar yang telah diubah di 2 tempat. Anda dapat memutuskan di sini bahwa produksi selalu memiliki preferensi (setidaknya itulah yang akan saya pikirkan), yang membuatnya menjadi sederhana.
Jadi ... untuk mengatasi masalah ini, Anda memerlukan alat manajemen versi yang mendukung berbagai aliran. Setiap aliran akan mewakili satu bagian. (Ini bisa sangat kompleks tergantung pada kebutuhan Anda tetapi dalam kasus ini saya pikir ini sangat sederhana).
Jika sekarang Anda dapat mengatur aliran ini di bawah instalasi WordPress Anda dan menyinkronkannya juga dengan konten database, dll ... maka Anda dapat melakukan penggabungan dalam alat CM / versi dan kemudian mengekspornya kembali di lingkungan lain.
Masalahnya adalah ... Anda harus menuliskan ini terlebih dahulu. Ini bukan peretasan teknis. Ini adalah pola default di sekitar Manajemen Konfigurasi sehingga tidak ada yang aneh di sini juga tetapi Anda harus menuliskannya. Anda mungkin menemukan misalnya bahwa plugin yang diinstal membuat perubahan dalam database dengan beberapa data yang berbeda di lingkungan lain, jadi Anda perlu memiliki prosedur tambahan untuk hal ini.
Secara teknis hampir selalu semuanya mungkin, periksa http://www.cmcrossroads.com/forums untuk skenario yang belasan atau ratusan kali lebih kompleks meskipun selalu menggunakan pendekatan yang sama dan menggunakan set pola CM yang sama.
singkatnya: letakkan layer manajemen versi di bawahnya, mengotomatiskan penggabungan dan menangani konflik, lalu mengimpor di lingkungan target. Pikirkan strategi aliran yang cocok di sini dan tuliskan. Lakukan sedikit manajemen CM sedikit. Itu akan menjadi solusi profesional jika tidak menginstal beberapa hack copy db, skrip dll ...