Trong nhiều tháng, tôi đã cố gắng lên kế hoạch cho một cấu trúc dự án tốt để sử dụng kiểm soát phiên bản git để phát triển trang web WordPress mà không hy sinh khả năng cập nhật lõi và plugin thông qua bảng điều khiển WP, không yêu cầu cấu trúc thư mục độc đáo (wp -content bên ngoài thư mục mẹ WP) và dễ dàng quản lý và triển khai toàn bộ trang web. Tôi đã đọc về các mô hình con, cây con, repos lồng nhau, v.v. và tôi vẫn đang gặp khó khăn trong việc kết hợp tất cả lại với nhau và chọn chiến lược phù hợp.
Đây là những gì tôi đang nghĩ ngay bây giờ, với suy nghĩ của tôi về cách tôi sẽ xử lý repos git trong ngoặc đơn.
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
Điều này để lại cho tôi một số vấn đề / câu hỏi;
Cập nhật tự động; Tôi yêu tính năng cập nhật tự động mới, nó có khả năng tiết kiệm rất nhiều thời gian và công sức trong việc giữ cho các trang web của tôi được cập nhật và bảo mật, nhưng có vẻ như nó ném cờ lê trong việc theo dõi thay đổi mã bằng git. Có cách nào để theo dõi các thay đổi mã của tôi trong khi vẫn cho phép lõi WordPress tự động cập nhật không?
Việc có các cây con dưới repo lõi WordPress có ngăn tôi sử dụng git để hợp nhất trong các bản cập nhật lõi mới hoặc đẩy các thay đổi của tôi trở lại repo lõi WordPress (nếu tôi quyết định muốn trở thành người đóng góp cốt lõi)?
Đối với các plugin không có repo git công khai, việc bỏ qua chúng hoàn toàn sẽ tạo ra vấn đề không thể sao chép nhanh chóng toàn bộ trang web trên máy chủ mới mà không sao chép thủ công các tệp vào máy chủ. Nó cũng gây ra sự cố nếu tôi muốn thay đổi mã của plugin đó, những thay đổi đó không được theo dõi và có thể dễ dàng bị mất trong quá trình nâng cấp plugin.
Vì vậy, để tóm tắt, một thiết lập git + WordPress tốt để tránh những vấn đề này là gì? Tôi sẽ đánh giá cao phản hồi của bạn về cấu trúc dự án đề xuất của tôi. Bất cứ cách nào bạn có thể giúp tôi cải thiện điều này, sẽ được đánh giá cao!
PS, nếu có một diễn đàn tốt hơn cho cuộc thảo luận này, xin vui lòng chỉ cho tôi ở đó.