Saya mengembangkan tema, banyak di antaranya. Saya diberikan PSD, kode HTML / CSS, menampar kode ke Wordpress, dan membuat koreksi saat mereka mendapat QC'd. Setelah live, klien dapat mengedit posting blog seperti biasa atau mengunggah foto menggunakan plugin khusus.
Kadang-kadang saya harus membuat perubahan pada tema atau ke konten halaman / posting, yang berarti saya membuatnya secara langsung atau harus mengunduh dan mengatur situs ke lingkungan pengembangan untuk disetujui oleh klien. Saya tidak punya cadangan, saya tidak punya kontrol versi, dan saya menyadari ini perlu diubah.
Git dan Mercurial telah disarankan, dan saya ingin memanfaatkan alat-alat ini, tetapi saya bingung tentang bagaimana memasukkannya ke dalam alur kerja.
Apakah saya memerlukan semua perubahan pada situs di server pengembangan dan kemudian mendorongnya langsung setelah disetujui? Bagaimana dengan menulis posting blog? Sepertinya berlebihan untuk menulis posting di dev dan mendorong perubahan secara langsung, tetapi kemudian bagaimana cara menyinkronkan basis data jika diedit di situs langsung? Saya telah menjelajahi internet. Beberapa panduan akan dihargai.
Jawaban:
Pertama-tama, Anda perlu mengenali bahwa ada dua alur kerja di sini: milik Anda dan klien Anda.
Alur Kerja Anda
Alur Kerja mereka
Masalah
Menerapkan kontrol versi di sini sama sekali tidak ada hubungannya dengan alur kerja klien Anda. Ini semua tentang melacak kode yang Anda gunakan untuk tema WordPress. Semua file tema Anda, plugin kustom, dll harus dalam sistem kontrol versi (Git, Mercurial, Subversion, atau apa pun yang Anda pilih untuk digunakan).
Alur kerja Anda kemudian menjadi:
Ingat, ini tentang mempertahankan riwayat kontrol versi untuk kode Anda . Kode adalah sesuatu yang tidak boleh diubah oleh klien Anda - dan Anda tidak boleh mengubah kode di situs produksi saat sedang dalam produksi.
Tetapi perubahan pada konten (posting, foto, dll) berada di luar ruang lingkup sistem kontrol versi Anda. Dengan kata lain, Anda tidak membuat perubahan dalam pengembangan dan kemudian mendorong database ke produksi. Itu praktik pembangunan yang buruk. Jika Anda memerlukan basis data dev dan prod di-sinkronisasi, maka Anda harus secara rutin menarik cadangan dari kotak produksi dan mengembalikan versi lokal Anda dari cadangan itu.
Perubahan kode mengalir dari pengembangan ke produksi.
Perubahan basis data mengalir dari produksi ke pengembangan.
sumber
Anda dapat menggunakan perangkat lunak yang menyinkronkan basis data. Tetapi ada juga opsi untuk mengversi data itu sendiri dengan sesuatu seperti http://chronicdb.com
sumber
Saya baru saja menulis jawaban menyeluruh untuk ini pada pertanyaan lain. Secara pribadi saya menggunakan git dan ini luar biasa. Dalam hal memulai, saya akan merekomendasikan memeriksa http://gitref.org/ dan http://help.github.com/mac-set-up-git/ . Jika Anda adalah tipe buku, saya sudah membaca yang ini dan pasti bernilai harga ebook $ 22. Buat diri Anda melakukannya, Anda tidak akan menyesali keputusan itu.
sumber