วันนี้ว่างๆ นึกอยากแก้ไขธีมของ Imooh.com ซะหน่อย สิ่งที่อยากได้คือ เก็บโค้ดด้วย Git และเมื่อมีการ push โค้ดก็ให้อัพเดทธีมอัตโนมัติไปเลย (แต่ก็ต้องเทสที่ local environment แล้วนะ ^^) ก็เลยเอาขั้นตอนมาเขียนไว้ซะหน่อย เผื่อเพื่อนๆ สนใจจะลองทำดูบ้าง หรือมีวิธีที่จะมาแนะนำก็ยินดีครับ
เริ่มต้นด้วยการเอาโค้ดปัจจุบันเข้า Git ไว้ก่อน ด้วยการสร้าง local repository โดยใช้คำสั่ง git init และ commit โค้ดให้เรียบร้อย
git init git add -A git commit -m "Initial imooh theme"
จากนั้นก็มาจัดการทางฝั่งเซิฟเวอร์บ้างด้วยการสร้าง bare repository ด้วยการรันคำสั่ง
git init --bare
–bare ก็คล้ายๆ กับการสร้าง local repository ที่ขั้นตอนแรก แต่จะแตกต่างกันนิดหน่อยตรงที่ bare repository จะไม่มี working tree
หลังจากสร้าง server repository เรียบร้อยแล้วก็กลับมาที่ local repository (เครื่องของเรานี่แหละ ^^) เพื่อจะได้ชี้ git remote ไปที่ server repositoryของเรา
git remote add origin username@imooh.com:/path/to/git/repository
เมื่อเพิ่ม git remote ไปแล้วเราก็สามารถ push โค้ดขึ้นไปเก็บไว้บนเซิฟเวอร์ได้แล้วครับ
git push origin master
ขั้นตอนต่อไปก็ทำให้โค้ดบนเซิฟเวอร์อัพเดทอัตโนมัติเมื่อมีการ push โค้ดไปที่เซิฟเวอร์ โดยการเข้าไปเพิ่มคำสั่งไว้ที่ไฟล์ post-update ที่อยู่ในโฟลเดอร์ hooks ของ server repository
export GIT_WORK_TREE=/path/to/wordpress/theme git checkout -f
เท่านี้ก็เรียบร้อย ^^