Tworzę motywy, wiele z nich. Dostaję PSD, kod HTML / CSS, klepnięcie kodu w Wordpress i wprowadzanie poprawek w miarę uzyskiwania kontroli jakości. Po uruchomieniu klienci mogą edytować posty na blogu, jak zwykle, lub przesyłać zdjęcia za pomocą niestandardowej wtyczki.
Czasami muszę wprowadzić zmiany w temacie lub treści strony / postu, co oznacza, że albo wprowadzę je na żywo, albo będę musiał pobrać i skonfigurować witrynę w środowisku programistycznym, które zostanie zatwierdzone przez klienta. Nie mam kopii zapasowej, nie mam kontroli wersji i zdaję sobie sprawę, że trzeba to zmienić.
Sugerowano Git i Mercurial i chciałbym skorzystać z tych narzędzi, ale nie jestem pewien, jak dopasować je do przepływu pracy.
Czy wymagam wszystkich zmian w witrynie na serwerze programistycznym, a następnie zatwierdzam je po zatwierdzeniu? Co z pisaniem postów na blogu? Wydaje się, że przesada w pisaniu postów na urządzeniu deweloperskim i wprowadzaniu zmian na żywo, ale jak mam zsynchronizować bazy danych, jeśli są one edytowane w witrynie na żywo? Przeszukałem internet. Docenione zostaną niektóre wskazówki.
Odpowiedzi:
Przede wszystkim musisz wiedzieć, że istnieją tutaj dwa przepływy pracy: twój i twój klient.
Twój przepływ pracy
Ich przepływ pracy
Problem
Implementacja kontroli wersji tutaj nie ma absolutnie nic wspólnego z przepływem pracy twoich klientów. Chodzi o śledzenie kodu używanego w motywie WordPress. Wszystkie pliki motywów, wtyczki niestandardowe itp. Powinny znajdować się w systemie kontroli wersji (Git, Mercurial, Subversion lub cokolwiek innego, którego chcesz użyć).
Twój przepływ pracy staje się wtedy:
Pamiętaj, że chodzi o utrzymanie historii kontroli wersji kodu . Kod jest czymś, czego Twoi klienci nie powinni zmieniać - i nigdy nie powinieneś zmieniać kodu w witrynie produkcyjnej, gdy jest produkowana.
Ale zmiany treści (posty, zdjęcia itp.) Są poza zakresem systemu kontroli wersji. Innymi słowy, nie wprowadzasz zmian w rozwoju, a następnie wypychasz bazę danych do produkcji. To zła praktyka rozwojowa. Jeśli potrzebujesz zsynchronizowanych baz danych dev i prod, powinieneś rutynowo wyciągać kopię zapasową z pola produkcyjnego i przywracać lokalną wersję z tej kopii zapasowej.
Zmiany kodu przechodzą od rozwoju do produkcji.
Zmiany w bazie danych przebiegają od produkcji do rozwoju.
źródło
Możesz użyć oprogramowania, które synchronizuje bazy danych. Ale istnieje również możliwość wersjonowania samych danych za pomocą czegoś takiego jak http://chronicdb.com
źródło
Właśnie napisałem dokładną odpowiedź na to pytanie na inne pytanie. Osobiście używam git i jest fantastyczny. Jeśli chodzi o rozpoczęcie pracy, polecam sprawdzenie http://gitref.org/ i http://help.github.com/mac-set-up-git/ . Jeśli jesteś typem książki, czytałem to jedno i to zdecydowanie warte $ 22 Cena ebook. Zrób to, nie będziesz żałować tej decyzji.
źródło