Od miesięcy staram się zaplanować dobrą strukturę projektu do używania kontroli wersji git do tworzenia stron internetowych WordPress, która nie poświęca możliwości aktualizacji rdzenia i wtyczek poprzez pulpit nawigacyjny WP, nie wymaga niekonwencjonalnej struktury katalogów (wp -zawartość poza folderem nadrzędnym WP) i który jest łatwy do zarządzania i wdrażania całych stron internetowych. Czytałem o podmodułach, poddrzewach, zagnieżdżonych repozytoriach itp. I nadal mam trudności z dopasowaniem ich do siebie i wybraniem odpowiedniej strategii.
Oto, co myślę teraz, z moimi myślami, jak poradzę sobie z repozytoriami git w nawiasach.
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
To pozostawia mi kilka problemów / pytań;
Automatyczne aktualizacje; Uwielbiam nową funkcję automatycznych aktualizacji, może potencjalnie zaoszczędzić dużo czasu i wysiłku, aby moje witryny były aktualizowane i bezpieczne, ale wydaje się, że rzuca klucz do śledzenia zmian kodu za pomocą git. Czy jest jakiś sposób na śledzenie zmian w kodzie przy jednoczesnym umożliwieniu automatycznej aktualizacji rdzenia WordPress?
Czy posiadanie poddrzewa pod repozytorium rdzenia WordPress uniemożliwia mi używanie git do scalania nowych aktualizacji rdzenia lub wypychanie moich zmian z powrotem do repozytorium rdzenia WordPress (jeśli kiedykolwiek zdecyduję, że chcę być głównym współautorem)?
W przypadku wtyczek, które nie mają publicznego repozytorium git, ich całkowite zignorowanie powoduje problem polegający na niemożności szybkiego sklonowania całej witryny na nowym serwerze bez ręcznego kopiowania plików na serwer. Powoduje to również problem, jeśli chcę wprowadzić zmiany w kodzie tej wtyczki, zmiany te nie są śledzone i mogą zostać łatwo utracone podczas aktualizacji wtyczki.
Podsumowując, jaka jest dobra konfiguracja git + WordPress, która pozwala uniknąć tych problemów? Byłbym wdzięczny za opinie na temat mojej proponowanej struktury projektu. Byłbym bardzo wdzięczny za każdy sposób, w jaki możesz pomóc mi to poprawić!
PS, jeśli istnieje lepsze forum dla tej dyskusji, proszę mnie tam wskazać.