Jak używać Gita do przesyłania lokalnej witryny na żywo?

Opublikowany: 2022-10-18

Wiele firm dokłada wszelkich starań, aby tworzenie stron internetowych było proste dla przeciętnego użytkownika. Ma to sens, ponieważ są właściciele witryn, którzy nie mają (lub chcą) czasu na poznanie wszystkich aspektów prowadzenia witryny lokalnej. Jednak przy odrobinie badań możesz użyć Git do obsługi procesu wypychania witryny na żywo. Daje to trochę większe bezpieczeństwo, a po skonfigurowaniu wszystkiego łatwiejszą ścieżkę do wprowadzania zmian w witrynie.

Mimo to dotarcie do tego punktu jest wprawdzie trudne. Istnieje wiele warunków wstępnych do rozważenia, umiejętności, które musisz posiadać, oraz dostępnych narzędzi. Ponadto musisz przemyśleć ten proces kilka razy, ponieważ jest wiele do zapamiętania. Jednak użycie Git do uruchomienia witryny jest możliwe dla prawie każdego użytkownika i nie musi być tak skomplikowane, jak myślisz.

W tym samouczku pokażemy krok po kroku, jak używać Git do wypychania lokalnej witryny na działający serwer. Najpierw przyjrzyjmy się niektórym narzędziom i technologiom, które przedstawimy w poście.

Wprowadzenie do Gita

Dla nieświadomych Git jest systemem kontroli wersji (VCS). Jest to sposób na zapisywanie i rejestrowanie zmian wprowadzanych w projekcie — często w aplikacji lub witrynie internetowej. Jest to coś, o czym mówimy gdzie indziej, ale musisz dowiedzieć się więcej na ten temat w tym samouczku.

Repozytorium WordPress na GitHubie.

Typowym sposobem korzystania z Git jest użycie interfejsu wiersza poleceń (CLI) — jeśli masz doświadczenie z WP-CLI, jest to podobne podejście. Będziesz używać poleceń do oznaczania i organizowania plików, nad którymi pracujesz na kilka sposobów:

  • Zanim wydasz polecenia, pliki pozostaną „nieprzemieszczone”. Oznacza to, że nie są one częścią twojego „repozytorium” Git (katalogu, w którym przechowywana jest twoja historia).
  • Wydasz polecenie przemieszczenia wszystkich lub niektórych plików, po czym nadal możesz nad nimi pracować.
  • Kiedy skończysz, zatwierdzasz pliki do 'repo' z obszaru pomostowego. Jest to podobne do zapisywania tych zmian.

Może to być bardziej skomplikowane, ale w większości przypadków będziesz używać tylko kilku poleceń do wykonywania codziennej pracy z Git.

Używanie Gita do programowania zespołowego

Git jest kluczowym narzędziem dla zespołów programistycznych, ponieważ każdy programista otworzy inny „oddział” w ramach tego samego repozytorium. Oznacza to, że każdy może pracować nad projektem bez wpływu na pliki innych. W regularnych odstępach czasu – często jako ostatnie zadanie dnia – zespół wprowadza zmiany w repozytorium.

Starszy członek zespołu będzie następnie starał się „połączyć” wszystkie gałęzie i wprowadzić zmiany do main lub trunk repozytorium. W tym momencie będziesz mieć ostateczny zestaw plików projektu w repozytorium.

Dla pojedynczego programisty – prawdopodobnie Ciebie – Git nadal ma wartość jako rodzaj narzędzia do przyrostowego oszczędzania. Otworzysz nowy oddział, będziesz pracować nad swoją witryną, a następnie zaplanujesz i zatwierdzisz te zmiany. Oznacza to, że możesz robić, co chcesz w gałęzi, bez wpływu na żaden inny plik w Twojej witrynie. Kiedy chcesz zatwierdzić (lub usunąć), możesz to zrobić.

Szybki podkład do lokalnego rozwoju WordPress

Zanim przejdziemy dalej, powinniśmy pamiętać, że praca w witrynie z dala od serwera na żywo jest zalecaną typową praktyką. Jeśli jeszcze tego nie robisz, zapoznaj się z naszym artykułem o tym, jak zainstalować WordPress. Możesz też rozważyć dedykowaną aplikację do pracy w Twojej witrynie.

Logo DevKinsta.

Local by Flywheel to dobra opcja, podobnie jak DevKinsta. Niezależnie od tego, istnieje wiele sposobów tworzenia lokalnej witryny i jest to coś, co warto mieć na swoim miejscu.

Dlaczego chcesz używać Gita do przesyłania lokalnej witryny na żywo

Głównym powodem, dla którego będziesz chciał użyć Git do opublikowania swojej witryny, jest ten, o którym wspomnieliśmy powyżej: Elastyczność. Natura Git oznacza, że ​​będziesz mieć główną gałąź, która służy jako ostateczny zestaw plików projektu. Możesz jednak otworzyć tyle nowych oddziałów, ile potrzebujesz — w rzeczywistości jest to dokładnie taki sam sposób, w jaki duże zespoły używają Git na dużą skalę.

Dzięki takiemu podejściu możesz utworzyć nową gałąź do pracy nad projektem strony głównej witryny bez konieczności wpływania na pliki podstawowe. Rozważ gałąź jako rodzaj klonu, który scalasz z powrotem z główną gałęzią za pomocą zatwierdzeń etapowych.

Istnieje jednak kilka innych powodów, dla których Git jest przydatny:

  • Możesz hostować to repozytorium Git w dowolnej lokalizacji. GitHub i GitLab to dwie witryny, które koncentrują się na hostowaniu repozytoriów Git. Stamtąd możesz sprowadzić innych członków zespołu lub programistów, jeśli potrzebujesz dodatkowego wsparcia. Możesz nawet z łatwością przeprowadzić migrację witryny.
  • Oczywiście nie będziesz musiał pracować nad swoją działającą witryną, co jest fantastyczne z punktu widzenia bezpieczeństwa i wydajności. Możesz jednak przesłać tylko pliki, nad którymi pracujesz. Daje to ogromne korzyści, ponieważ nie musisz dotykać swojej bazy danych WordPress. Jest to główny cel testowania witryny i można to zrobić za pomocą Git i lokalnej instalacji.

Jednak, aby dojść do tego punktu, będziesz chciał mieć pod ręką szereg narzędzi, umiejętności i wymagań wstępnych. Następnie przejdziemy przez to, czym one są.

Czego będziesz potrzebować, zanim użyjesz Git do przesyłania witryn na żywo (narzędzia i umiejętności)

Warto zwrócić uwagę na to, co powinieneś już mieć na miejscu, zanim nawet pomyślisz o tym, jakich dodatków będziesz potrzebować. Na przykład upewnij się, że masz pod ręką następujące rzeczy:

  • Lokalna wersja Twojej obecnej witryny.
  • Dostęp do panelu sterowania hostingu i serwera jako administrator.

W tym miejscu możesz zastanowić się, czego jeszcze potrzebujesz, aby używać Git z lokalną witryną i serwerem na żywo:

  • Musisz zainstalować Git na swoim komputerze. Często osiągasz to za pomocą wiersza poleceń.
  • Skoro o tym mowa, będziesz chciał wiedzieć, jak korzystać z wiersza poleceń. W szczególności powinieneś wiedzieć, jak poruszać się po komputerze, tworzyć katalogi i pliki, a także je usuwać.
  • Znajomość dostępu do serwera Secure Shell (SSH) i przynajmniej znajomość tworzenia bezpiecznych kluczy. Możesz dowiedzieć się więcej na ten temat w naszym artykule na temat bezpiecznego protokołu przesyłania plików (SFTP).

To powinno wystarczyć na początek, ale będziemy wspominać w dalszej części artykułu, jeśli coś innego wymaga Twojej uwagi.

Jak używać Gita do przesyłania lokalnej witryny na żywo?

Aby wszystko skonfigurować, musisz wykonać cztery kroki. Oto, co omówimy:

  1. Konfigurowanie repozytorium Git dla Twojej witryny lokalnej.
  2. Konfigurowanie zdalnego repozytorium Git.
  3. Informowanie repozytorium Git, gdzie ma wprowadzać zmiany.
  4. Dodanie zdalnego łącza i przekazanie zmian na żywo.

Jest tu wiele do przejścia, więc zacznijmy!

1. Skonfiguruj repozytorium Git dla swojej lokalnej witryny

Chociaż istnieje kilka sposobów na skonfigurowanie repozytoriów Git, zrobimy to za pomocą wiersza poleceń, ponieważ jest to najbardziej typowy sposób. Po otwarciu okna terminala najpierw przejdź do lokalnego katalogu witryny:

Przechodzenie do folderu lokalnego za pomocą terminala i wiersza poleceń.

Aby skonfigurować niezbędną architekturę repozytorium Git, uruchamiaj kolejno następujące polecenia:

 git init git add .

Pierwsze polecenie utworzy potrzebny katalog i ukryje go, podczas gdy drugie doda wszystkie pliki z katalogu Twojej witryny do obszaru pomostowego Git – kropka to modyfikator „wieloznaczny”:

Inicjowanie repozytorium Git i dodawanie plików za pomocą wiersza poleceń.

Aby zobaczyć, jakie pliki znajdują się w obszarze pomostowym, użyj polecenia git status :

Uruchamiam status git, aby zobaczyć, które pliki są umieszczane w poczekalni.

Stąd będziesz chciał przeprowadzić wstępne zatwierdzenie tych zmian, aby zapełnić swoje lokalne repozytorium. Robisz to za pomocą następującego polecenia:

git commit -m "Initial commit."

Flaga -m informuje komendę, że następuje komunikat o zatwierdzeniu. I tak będziesz musiał to zrobić dla każdego zatwierdzenia, a łatwiej jest to zrobić z jednego miejsca.

Stąd masz wszystko skonfigurowane na swoim komputerze. Następnie czas na pracę na zdalnym serwerze.

2. Skonfiguruj repozytorium Git na serwerze Live Twojej witryny

Proces tutaj jest podobny do konfiguracji lokalnej, ale wymaga zalogowania się na serwerze za pomocą SSH. Korzystanie z tego wykracza poza zakres tego artykułu, ale możemy skierować Cię do posta Toma McFarlina, który przedstawia potrzebne kroki. Alternatywnie, zawsze możesz zapytać swojego hosta – nie powinien mieć problemu z pokazaniem, gdzie znajdują się te dane uwierzytelniające.

Po zalogowaniu się do serwera za pomocą wiersza poleceń, będziesz chciał przejść do prywatnego obszaru serwera, aby użytkownicy zewnętrzni nie mieli dostępu do Twojego repozytorium Git. Często katalogiem jest /private/ , chociaż będziesz chciał zapytać o to swojego hosta.

W tym katalogu będziesz chciał utworzyć inny katalog i przejść do niego:

 mkdir remoterepo.git cd remoterepo.git

Dopóki katalog używa rozszerzenia .git , możesz nazwać go jak chcesz. Stąd zainicjuj nowe repozytorium git w katalogu, tym razem używając flagi –bare:

git --bare init

Tworzy to potrzebne repozytorium bez plików projektu, co jest bezpieczne i zalecane.

3. Utwórz „hak” do swojego repozytorium i ustaw odpowiednie uprawnienia do plików

Będąc na serwerze, musisz utworzyć plik, aby poinformować Git, gdzie ma przesyłać zmiany. Najpierw uruchom polecenie nano hooks/post-receive command . Spowoduje to otwarcie edytora wiersza poleceń o nazwie Nano i utworzenie pliku we właściwym katalogu.

W tym pliku dodaj następujące elementy:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

/home/user/example.com powinien wskazywać dokładną lokalizację aktywnych plików Twojej witryny. Nazwa username powinna być tą, za pomocą której zalogowałeś się do powłoki, a example.com powinna być domeną Twojej aktywnej witryny. Gdy to zrobisz, zapisz zmiany.

Ostatnim krokiem jest ustawienie odpowiednich uprawnień do pliku dla tego pliku. Możesz to zrobić za pomocą chmod +x hooks/post-receive . Polecenie Change Mode (chmod) służy do ustawiania uprawnień do plików z wiersza poleceń – +x oznacza ustawienie uprawnień do wykonywania .

Gdy to zrobisz, wpisz exit , aby opuścić zdalny terminal. Stąd musisz wrócić do lokalnego repozytorium Git w Terminalu.

4. Dodaj zdalny link do lokalnego repozytorium i prześlij swoje lokalne zmiany na żywo

W tym miejscu wróć do lokalnego repozytorium Git, używając w razie potrzeby polecenia cd . Musisz dodać łącze do zdalnego serwera, aby oba repozytoria Git mogły się ze sobą komunikować. Zrobisz to za pomocą następującego polecenia:

git remote add origin ssh://[email protected]/~/remoterepo.git

Dokładny adres URL repozytorium Git będzie zależał od lokalizacji wykrytej w ostatnim kroku. Oczywiście poświadczenia użytkownika i serwera zastąpią tutaj symbole zastępcze.

Uruchom to polecenie, a następnie przygotuj się do wysłania lokalnych zmian na aktywny serwer. Następujące polecenie zrobi to bez potwierdzenia, więc upewnij się, że chcesz to zrobić:

git push -u origin main

Zobaczysz, że Terminal wyświetla podsumowanie potwierdzenia…

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

…i w tym momencie możesz sprawdzić swoją działającą witrynę – zmiany powinny być obecne i poprawne.

W podsumowaniu

Praca nad Twoją stroną internetową to niezbędne i często codzienne zadanie. Korzystanie z lokalnego środowiska jest typowym sposobem na zrobienie tego, ale pojawia się problem — jak wprowadzić te zmiany w działającej witrynie, która jest wolna od błędów i przy jak najmniejszym wysiłku?

Odpowiedzią może być użycie Git do przesyłania zmian, które wprowadzasz na swój serwer. Dzięki temu możesz przesyłać tylko pliki, w których wprowadzasz zmiany, więc większość instalacji – i bazy danych – pozostaje bez zmian. Chociaż potrzebujesz pewnej wiedzy i narzędzi, aby wszystko działało, jest to zmiana przepływu pracy, która może spowodować gwałtowny wzrost produktywności i wydajności tworzenia lokalnych witryn.

Czy myślisz, że będziesz używać Git do wprowadzania zmian w lokalnej witrynie na żywo? Podziel się z nami swoimi przemyśleniami w sekcji komentarzy poniżej!