เป็นเวลาหลายเดือนที่ฉันพยายามวางแผนโครงสร้างโครงการที่ดีสำหรับการใช้การควบคุมเวอร์ชัน git สำหรับการพัฒนาเว็บไซต์ WordPress ที่ไม่ต้องเสียสละความสามารถในการอัปเดตคอร์และปลั๊กอินผ่านแผงควบคุม WP ไม่จำเป็นต้องมีโครงสร้างไดเรกทอรีที่แปลกใหม่ (wp - เนื้อหานอกโฟลเดอร์หลักของ WP) และง่ายต่อการจัดการและปรับใช้เว็บไซต์ทั้งหมด ฉันได้อ่านเกี่ยวกับ submodules, subtrees, repos ที่ซ้อนกันและอื่น ๆ และฉันยังคงมีเวลายากที่จะปรับมันเข้าด้วยกันและเลือกกลยุทธ์ที่เหมาะสม
นี่คือสิ่งที่ฉันกำลังคิดอยู่ในขณะนี้ด้วยความคิดของฉันสำหรับวิธีการจัดการ repos คอมไพล์ในวงเล็บ
root (main project repo)
|-- wordpress (public git repo added as subtree)
| |-- wp-content
| | |-- plugins
| | | |-- my-custom-plugin (git repo added as subtree)
| | | |-- other-plugin-with-git-repo (git repo added as subtree)
| | | +-- other-plugin-without-git-repo (ignored/untracked)
| | |-- themes
| | | |-- my-custom-theme (git repo added as subtree)
| | | |-- other-theme-with-git-repo (git repo added as subtree)
| | | +-- other-theme-without-git-repo (ignored/untracked)
| | +-- uploads (ignored/untracked)
| |-- wp-admin
| +-- wp-includes
|-- wp-config.php (ignored/untracked)
+-- other-files.txt
ทำให้ฉันมีปัญหา / คำถามมากมาย
การปรับปรุงอัตโนมัติ; ฉันชอบคุณสมบัติการอัปเดตอัตโนมัติใหม่ซึ่งอาจช่วยประหยัดเวลาและความพยายามในการทำให้ไซต์ของฉันอัปเดตและปลอดภัย แต่ดูเหมือนว่ามันจะส่งผลในการติดตามการเปลี่ยนแปลงรหัสด้วย git มีวิธีใดบ้างในการติดตามการเปลี่ยนแปลงรหัสของฉันในขณะที่ยังอนุญาตให้ WordPress core อัปเดตอัตโนมัติ
การมีทรีย่อยภายใต้ WordPress core repo ทำให้ฉันไม่สามารถใช้คอมไพล์เพื่อรวมในการอัปเดตหลักใหม่หรือผลักดันการเปลี่ยนแปลงของฉันกลับไปเป็น WordPress core repo (ถ้าฉันตัดสินใจว่าฉันต้องการเป็นผู้สนับสนุนหลัก)?
สำหรับปลั๊กอินที่ไม่มี repit สาธารณะ git การเพิกเฉยอย่างสมบูรณ์จะสร้างปัญหาที่ไม่สามารถโคลนไซต์ทั้งหมดบนเซิร์ฟเวอร์ใหม่ได้อย่างรวดเร็วโดยไม่ต้องคัดลอกไฟล์ไปยังเซิร์ฟเวอร์ด้วยตนเอง นอกจากนี้ยังทำให้เกิดปัญหาหากฉันต้องการเปลี่ยนแปลงรหัสของปลั๊กอินนั้นการเปลี่ยนแปลงเหล่านั้นไม่ได้ถูกติดตามและอาจสูญหายได้ง่ายในการอัปเกรดปลั๊กอิน
ดังนั้นเพื่อสรุปการตั้งค่า git + WordPress ที่ดีที่ช่วยหลีกเลี่ยงปัญหาเหล่านี้คืออะไร? ฉันขอขอบคุณข้อเสนอแนะของคุณเกี่ยวกับโครงสร้างโครงการที่เสนอ วิธีใดก็ตามที่คุณสามารถช่วยฉันปรับปรุงสิ่งนี้จะได้รับการชื่นชมมาก!
ป.ล. ถ้ามีฟอรั่มที่ดีกว่าสำหรับการอภิปรายนี้โปรดชี้ฉันที่นั่น