Zdaję sobie sprawę, że może to być ogólne pytanie, ale szukam konkretnych przykładów konfiguracji / przepływów pracy, których ludzie używają do przechowywania historii wersji edytowanych plików w witrynie WordPress. Na przykład podczas tworzenia witryny (a nawet po jej uruchomieniu) często dokonuję zmian w plikach CSS i PHP, ale nie mam świetnego sposobu na powrót do starszych wersji tych plików. Dla moich celów wprowadzanie zmian w lokalnej instalacji programistycznej, a następnie kopiowanie tych zmian do działającej witryny jest często większym problemem niż bym chciał. Wszelkie sugestie dotyczące rozpoczęcia korzystania z narzędzia do kontroli wersji w celu śledzenia edycji plików w aktywnej witrynie?
svn
git
version-control
Travis Northcutt
źródło
źródło
Odpowiedzi:
Nie jestem pewien, ile wiesz o korzystaniu z kontroli wersji, ale ostatnio przeszedłem z SVN na Git i uważam, że to świetnie!
Chociaż to zależy od tego, czy serwer witryny ma zainstalowany Git (lub pozwoli ci). Mam również konfigurację Git na serwerze na żywo, działającą z gałęzi o nazwie coś takiego
production
. Ilekroć kończę wdrażanie / naprawianie czegoś lokalnie, łączę to zproduction
gałęzią, a następnie SSH z serwerem działającej witryny i wprowadzam zmiany. Przeciąganie przeciągania plików przez FTP, gdy nigdy nie wiadomo, czy zastępujesz zmiany itp.Polecam poświęcić trochę czasu na zapoznanie się z Git (jeśli jeszcze tego nie zrobiłeś), uważam, że jest to o wiele łatwiejsze i mniej kłopotliwe niż SVN, jeśli chodzi o zmianę / dodawanie mnóstwa plików (i w przeciwieństwie do SVN nie jest głupie
.svn
foldery wszędzie ).Jestem na komputerze Mac, więc przepraszam, jeśli żadne z nich nie ma zastosowania, ale używam Cody jako edytora kodu i zainstalowałem Git przez porty (używając Porticus).
Gdybym miał wszystko skonfigurować od nowa, zrobiłbym:
Zainstaluj Codę
Zainstaluj Porticus (który będzie wymagał instalacji portów, ale na tej stronie znajdują się informacje)
Po zainstalowaniu Porticus otwórz go, wyszukaj „git-core” i zainstaluj.
Pobierz i zainstaluj GitX 7-5
Jest dobrym przewodnikiem na utworzenie git repo tutaj , ale jest to podstawowy: 1. Otwórz Terminal. 2.
cd
do miejsca, w którym ma znajdować się witryna.$: mkdir mysite && cd mysite
3.$: git init
i to wszystko! Jeśli dodasz pliki do tego folderu, przejdź do następnego krokuPo skonfigurowaniu lokalnie repozytorium GIT (powyżej artykułu), jeśli otworzysz ten katalog w GitX, będziesz mógł zatwierdzać różne rzeczy itp.
Konfiguracja tego wszystkiego na serwerze może być trochę trudna, mam konto MediaTemple i Dreamhost, które mają GIT od razu po wyjęciu z pudełka. Link w kroku 5 pokazuje, jak dodać zdalne repozytorium, więc nie musisz tego robić, dopóki nie chcesz wprowadzić swojej działającej witryny do równania. Poleciłbym najpierw, aby wszystko działało lokalnie (w przeciwieństwie do SVN, GIT nie wymaga zdalnego repozytorium, więc na razie możesz zrobić wszystko na swoim komputerze).
źródło
Używam SVN do kontroli wersji we wszystkim, co robię w rozwoju WordPress. Właściwie zacząłem w ten sposób, ponieważ potrzebowałem SVN do programowania wtyczek ... kiedy tam zacząłem, było naturalnym rozszerzeniem, aby nadal używać SVN do motywów i niestandardowych skryptów w witrynach klientów.
Wtyczki
Ponieważ wtyczki są już hostowane na serwerze WordPress, po prostu sprawdzam wtyczkę bezpośrednio do
/wp-content/plugins/
katalogu mojej lokalnej instalacji WordPress (uruchamiam WAMP na moim oknie programistycznym). Następnie wprowadzam zmiany w mojej lokalnej kopii i, gdy jest ona gotowa na pokaz, zatwierdzam w repozytorium. Jest to płynny proces, bez przesyłania / pobierania i natychmiastowa weryfikacja działania moich zmian.Tematy
Tematy są nieco inne, szczególnie w przypadku budowania dla klienta. Tworzę lokalne repozytorium (mam
R
partycję na twardym dysku specjalnie do tego celu) i sprawdzam puste repozytorium bezpośrednio w moim/wp-content/themes
katalogu. Następnie wprowadzam zmiany w razie potrzeby i rozwijam się, aż będą gotowe, dokonując zmian w miarę upływu czasu.Kiedy jestem gotowy opublikować kompozycję na serwerze produkcyjnym klienta, eksportuję repozytorium, spakuję go i używam natywnych motywów >> Dodaj nową funkcjonalność w WordPress. Działa to również z niestandardowymi wtyczkami (które nie są obsługiwane przez WordPress).
Przybory
Tak jak powiedziałem, używam WAMP na moim komputerze lokalnym, aby uruchomić instalację programistyczną WordPress. Działa idealnie na moim urządzeniu i pozwala mi uruchomić tyle instancji WordPressa, ile potrzebuję do konkretnego projektu.
W przypadku SVN używam Tortoise SVN . Jest bezpłatny, niezwykle łatwy w użyciu i integruje się ze strukturą plików i poleceń systemu Windows. Aktualizowanie, zatwierdzanie i eksportowanie to proste kliknięcie prawym przyciskiem myszy i wybranie operacji poleceń. Korzystanie z „Eksportuj” pozwala wysłać cały folder (bez irytujących
.svn
folderów) bezpośrednio do dowolnej wybranej lokalizacji - często eksportuję na pulpit. Spakowanie folderu jest również operacją kliknięcia prawym przyciskiem myszy, a WordPress obsługuje przesyłanie.Ręczne przesyłanie plików może być kłopotliwe, szczególnie jeśli ciągle zmieniasz jeden plik, ale nie wszystkie. Jeśli zamiast tego przesyłasz FTP przez cały katalog z zaznaczoną opcją „nadpisz wszystko”, znacznie łatwiej jest zastąpić stare pliki (i nie musisz śledzić, które zmieniono, a które nie). To jak stara 5-minutowa instalacja WordPressa - wystarczy zastąpić wszystko nową wersją.
źródło
Osobiście uważam, że instalowanie SVN / GIT i zarządzanie nim jest zabawnym ćwiczeniem, ale jeśli możesz zarobić 15 USD miesięcznie, Beanstalk jest wart każdego grosza. Zarządzają dla Ciebie całym serwerem. http://beanstalkapp.com/ Narzędzia do wdrażania FTP są niesamowite. Moja automatycznie wdraża wersję na moim serwerze pomostowym, gdy np. Zatwierdzam
Innym sposobem na uzyskanie wersji osobistej jest użycie pola rozwijanego. Za każdym razem, gdy zapisujesz plik w swojej skrzynce, śledzi wersję i możesz przywrócić ją do dowolnej poprzedniej wersji później. Ty i inny programista lub grupa możecie udostępnić folder skrzynki. To prawda, że nie robi to trunków, fuzji itp., Ale bardzo ułatwia rozproszonemu zespołowi pracę na jednej stronie internetowej. Po prostu nie możesz jednocześnie pracować nad dokładnie tymi samymi plikami.
Trzymamy naszą kopię roboczą SVN w Dropbox, a następnie zatwierdzam pliki, gdy nadejdzie czas zapisu. Moi projektanci nie będą zatwierdzać plików ani zajmować się SVN, więc to jest kompromis.
Wolę SVN, ponieważ nie potrzebuję całego trunkingu, dla którego GIT jest tak świetny i są dostępne lepsze narzędzia GUI SVN.
źródło
Bardzo podoba mi się Aptana , ma wbudowaną subversion i możesz łatwo połączyć się z serwerem za pomocą ftp / sftp i wypychać pliki, kolejną wspaniałą cechą jest to, że jeśli tworzysz nowy projekt php i zawierasz „cały” WordPress folder (z wp-admin, wp-obejmuje) otrzymasz uzupełnienie kodu w plikach motywu.
W moim ustawieniu repo jest lokalne.
źródło
Pytasz o „ale szukam konkretnych przykładów konfiguracji / przepływów pracy, których ludzie używają do przechowywania historii wersji edytowanych plików na stronie WordPress”, ale wspominasz także o produktach :)
Dostajesz się wyżej jako odpowiedź na listę narzędzi i kilka najlepszych praktyk, ale skupię się tutaj na przepływach pracy: NIE SĄ one SZCZEGÓLNE:
Ale w przypadku ogólnych przykładów / konfiguracji / przepływów pracy:
Na początek: istnieją wzorce CM, więc niezależne od narzędzi. Google na CM Patterns, wiele książek, nawet społeczności wiki, np . Http://www.cmcrossroads.com/forums .
Istnieją również przewodniki na temat konfigurowania prawidłowej strategii transmisji strumieniowej (strategia transmisji strumieniowej Google) itp.
Nie sądzę, żeby było coś specjalnego we wdrożeniach WordPressa w porównaniu do CM Management, w tym rozproszone tworzenie równoległe w dużych fabrykach Siebel, SAP, Informatica, Java itp. To naprawdę prawie domyślne.
Myślę, że brakuje tego, że nikt nie napisał CMplanu dla rozwoju WordPress (jeszcze) (IEEE). Gdy ktoś to zrobi (narzędzie niezależne). Myślę, że wymagania można wypełnić dowolnym narzędziem.
Myślę, że powodem, dla którego nie napisano planu, jest to, że prawie wszystkie implementacje WordPress są nadal wykonywane przez 1 osobę z prostą konfiguracją programistyczno-produkcyjną, więc nie wielu programistów / projektantów w fazie kompilacji musi wdrażać różne wersje uruchomione w na przykład środowisko testowe.
plan CMP zaczyna się od zidentyfikowania wszystkich elementów CI innymi słowy: utwórz listę wszystkich typów elementów CI obecnych w implementacji WordPress, w tym aplikacji, wtyczek, bazy danych, dokumentacji, pomocy, treści, plików konfiguracyjnych, informacji o wydaniu (!) itp. ..). To dobry początek. Następnie zdecyduj, które chcesz wziąć pod CM.
Następnie zdecyduj, co powoduje zmiany w tych elementach CI, np. Wezwanie klienta do naprawy błędu lub wymaganej aktualizacji. Jeśli zrobione dobrze, prowadzi to do sytuacji, w której masz poczucie, że wszystko jest pod kontrolą.
Decyzje takie jak powrót z produkcji do rozwoju i sposób radzenia sobie z tym, jest częścią tego rozdziału (tutaj 2 główne wzorce) (choć oczywiście powinieneś spróbować zminimalizować te poprawki).
Dopiero później poszukaj narzędzia do wykonywania CM z jednej strony (która obejmuje zarządzanie wersjami jako jedno z narzędzi) i narzędzi do zarządzania zmianami z drugiej strony (co pozwala zachować rozsądek).
Myślę, że to najlepszy przepływ pracy na początek, ponieważ, o ile googlowałem, nikt jeszcze nie zrobił. Myślę, że jak tylko pierwsza osoba przygotuje Plan WordPress CM (według IEEE), każda inna osoba WordPress na świecie może skopiować ten plan i wprowadzić poprawki oraz wdrożyć wzorce w swoich narzędziach.
Czy to nie jest za dużo pracy / za ciężkie: zależy od tego, czy masz firmę, czy nie: może pewnego dnia zaoszczędzić dużo czasu na dobrym planie CM.
źródło
Jestem na wspólnym hoście, więc nie mogę zainstalować SVN ani nic podobnego. Używam Mercurial do kontroli wersji na moim komputerze domowym. Korzystam z synchronizacji FTP Beyond Compare, aby synchronizować foldery lokalne i zdalne.
źródło
używam git. To proste. nie musisz rozumieć prostych poleceń, takich jak klonowanie, zatwierdzanie, pchanie, ciągnięcie i jesteś gotowy do pracy. to jest podstawowe.
chociaż jeśli używasz git bardziej, np. koordynujesz zespół do pracy nad produktami, to jest to kolejny poziom. ale ostatecznie warto było użyć git lub dowolnej kontroli wersji. są niezawodne, gdy dzieje się gówno.
źródło