몇 달 동안 나는 WP 대시 보드를 통해 코어 및 플러그인을 업데이트하는 기능을 희생하지 않는 WordPress 웹 사이트 개발을 위해 git 버전 제어를 사용하기위한 좋은 프로젝트 구조를 계획하려고 노력했으며 기존 디렉토리 구조 (wp)를 필요로하지 않습니다. -WP 상위 폴더 외부의 콘텐츠) 및 전체 웹 사이트를 관리하고 배포하기 쉽습니다. 하위 모듈, 하위 트리, 중첩 된 리포지토리 등에 대해 읽었으며 여전히이를 모두 맞추고 올바른 전략을 선택하는 데 어려움을 겪고 있습니다.
괄호 안의 자식 위치를 처리하는 방법에 대한 생각과 함께 지금 생각하고 있습니다.
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 코어가 자동 업데이트되도록 허용하면서 코드 변경 사항을 추적 할 수있는 방법이 있습니까?
WordPress 핵심 저장소에 하위 트리가 있으면 git을 사용하여 새 핵심 업데이트를 병합하거나 변경 사항을 WordPress 핵심 저장소로 다시 밀어 넣을 수 없습니까 (핵심 기여자가되고 싶은 경우)?
공개 자식 리포지토리가없는 플러그인의 경우 완전히 무시하면 파일을 서버에 수동으로 복사하지 않고 새 서버에서 전체 사이트를 빠르게 복제 할 수없는 문제가 발생합니다. 또한 해당 플러그인의 코드를 변경하려는 경우 해당 변경 사항이 추적되지 않으며 플러그인 업그레이드에서 쉽게 손실 될 수 있습니다.
요약하면, 이러한 문제를 피하는 좋은 git + WordPress 설정은 무엇입니까? 제안 된 프로젝트 구조에 대한 귀하의 의견에 감사드립니다. 이것을 개선하는 데 도움이되는 방법은 대단히 감사하겠습니다!
추신 :이 토론을위한 더 나은 포럼이 있다면, 저에게 알려주십시오.