Git กับการเตรียมความพร้อมสำหรับแก้ไขธีมของ Imooh.com

วันนี้ว่างๆ นึกอยากแก้ไขธีมของ 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

เท่านี้ก็เรียบร้อย ^^