Użyj GitHub Desktop, aby uprościć aktualizacje FiveM i dostrzec każdą zmianę
Wprowadzenie
Każdy właściciel serwera zna to uczucie. Pojawia się nowa wersja zasobu, changelog mówi: "podmień folder /config/framework", a Ty zamierasz — ponieważ spędziłeś godziny na dostrajaniu tych plików i nie masz pojęcia, czego tak naprawdę dotyczy aktualizacja. Czy nadpiszesz je i stracisz swoją pracę? Pominiesz folder i zaryzykujesz uszkodzenie skryptu? Będziesz kopiować linie w jedną i drugą stronę ręcznie, mając nadzieję, że o niczym nie zapomniałeś?
Istnieje znacznie lepszy sposób — i nie musisz wpisywać ani jednej komendy. Dzięki darmowej aplikacji GitHub Desktop, możesz dokładnie zobaczyć, co zmieniło się w dowolnej aktualizacji, zachować swoje własne modyfikacje w bezpieczeństwie oraz wrócić do poprzedniej wersji w kilka sekund, a wszystko to za pomocą prostego interfejsu typu kliknij i użyj.
Co to jest Git i czym jest GitHub Desktop?
Git to system kontroli wersji — pomyśl o tym jak o nieograniczonej, idealnej historii wycofywania zmian dla folderu. Za każdym razem, gdy zapiszesz migawkę (nazywaną commit), rejestrowany jest dokładny stan każdego pliku. Później możesz porównać dowolne dwie migawki linia po linii, przywrócić wcześniejszy stan lub połączyć zmiany ze sobą.
GitHub Desktop to darmowa, wizualna aplikacja, która ukrywa Git pod przyjaznymi przyciskami. Żadnego czarnego terminala, żadnych komend do zapamiętania — tylko przejrzyste okno, które pokazuje, co uległo zmianie, i pozwala na commit, wycofanie zmian oraz scalanie za pomocą jednego kliknięcia.
Dla serwera FiveM, folder, który śledzisz, to Twój katalog resources (lub pojedynczy skrypt wewnątrz niego). Git zamienia "Myślę, że coś tu zmieniłem kilka tygodni temu" w "pokaż mi dokładnie, co zmieniło się między zeszłym miesiącem a dzisiaj."
Dlaczego jest to idealne do aktualizacji zasobów
Aktualizacja skryptu w tradycyjny sposób oznacza pracę po omacku. Git daje Ci trzy supermoce:
- Wykrywanie zmian — po wrzuceniu nowej wersji GitHub Desktop wyróżnia każdy zmieniony plik i każdą zmienioną linię. Changelog mówi Ci, które foldery należy zastąpić; Git pokazuje Ci, co faktycznie się zmieniło, dzięki czemu możesz mu zaufać.
- Bezpieczna personalizacja — Twoje edycje są zapisane w commitach. Gdy aktualizacja od dostawcy dotyczy tego samego pliku, Git może scalić oba zestawy zmian, zachowując Twoje oraz ich.
- Błyskawiczne wycofanie zmian — jeśli aktualizacja zepsuje Twój serwer, dzieli Cię tylko jedno kliknięcie od dokładnego stanu, który miałeś pięć minut temu. Bez paniki typu "gdzie ja położyłem ten backup".
source/ nigdy nie zmienia się po Twojej stronie, podczas gdy wszystko, co faktycznie edytujesz, znajduje się w folderze tekstowym config/. Git świetnie śledzi config/ — czyli dokładnie tam, gdzie Twoje modyfikacje spotykają się z aktualizacjami dostawcy.Jednorazowa konfiguracja z GitHub Desktop
Robisz to tylko raz na serwer.
Zainstaluj GitHub Desktop
Pobierz i zainstaluj go ze strony desktop.github.com. Możesz pominąć lub zamknąć okno logowania — konto online jest potrzebne tylko wtedy, gdy kiedykolwiek będziesz chciał wykonać kopię zapasową na GitHub, czego ten przewodnik nie wymaga.
Dodaj swój folder zasobów
Na pasku menu kliknij File → Add local repository, następnie Choose… i wybierz swój folder resources.
GitHub Desktop zauważy, że nie jest on jeszcze śledzony i wyświetli: "This directory does not appear to be a Git repository." Kliknij oferowany link "create a repository". Na następnym ekranie pozostaw ustawienia domyślne i kliknij Create repository.
Chroń swoje sekrety
FiveM serwer przechowuje wrażliwe dane, które nigdy nie mogą zostać zapisane w Twojej historii. W GitHub Desktop otwórz Repository → Repository settings → Ignored files i dodaj reguły takie jak te:
# Never track secrets
**/*.env
**/secrets.lua
server.cfg
# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store
Możesz również kliknąć prawym przyciskiem myszy na dowolny plik na liście Changes i wybrać Ignore file (lub Ignore all files of this type) — GitHub Desktop doda to za Ciebie do .gitignore.
sv_licenseKey, sekrety Tebex, tokeny Discord i adresy URL webhooków muszą pozostać poza Git. Dodaj je do listy ignorowanych przed swoim pierwszym commitem — gdy coś zostanie zatwierdzone, pozostaje w historii.Zrób swój pierwszy snapshot
Przełącz się na zakładkę Changes (zmiany; lewy pasek boczny). Każdy plik pojawia się na liście. W dolnym lewym polu Summary (podsumowanie) wpisz coś takiego jak Baseline: working server before updates, a następnie kliknij Commit to main.
Gotowe. Masz teraz siatkę bezpieczeństwa pod całym swoim serwerem.
Przepływ pracy przy aktualizacji
To rutyna, którą powtarzasz przy każdej aktualizacji. Zajmuje to około minuty.
Zatwierdź swój obecny stan
Otwórz GitHub Desktop i sprawdź zakładkę Changes (zmiany). Jeśli coś widnieje na liście, najpierw zatwierdź to z podsumowaniem takim jak Pre-update snapshot, aby aktualizacja była wyraźnie widoczna. Jeśli lista jest pusta, jesteś gotowy.
Wgraj nową wersję
Zatrzymaj serwer, a następnie wypakuj nową wersję zasobu na stare pliki, nadpisując je — dokładnie tak, jak instruuje changelog (na przykład "zamień folder /config/framework"). Nie martw się o utratę czegokolwiek; Twój poprzedni stan jest bezpiecznie zatwierdzony.
Zobacz dokładnie, co się zmieniło
Wróć do GitHub Desktop i otwórz kartę Changes. To magiczny moment: każdy plik, którego dotknęła aktualizacja, jest wymieniony, a kliknięcie w jeden z nich pokazuje jego zmiany linia po linii — usunięte linie na czerwono, dodane linie na zielono.
Możesz teraz przeczytać dokładnie, co zrobiła aktualizacja — nowe opcje konfiguracji, zmienione wartości domyślne, zmienione klucze — zamiast zgadywać.
config/framework i config/banking, to te foldery powinny być widoczne tutaj. Wszystko, co nieoczekiwane, warto dokładnie sprawdzić przed zatwierdzeniem zmian.Dopasuj swoje własne ustawienia
Jeśli aktualizacja nadpisała plik, który personalizowałeś, diff pokaże twoje ustawienia na czerwono (usunięte), a domyślne ustawienia dostawcy na zielono (dodane). Otwórz ten plik w swoim edytorze, ponownie wprowadź swoje wartości — diff pokazuje dokładnie, które linie — i zapisz. GitHub Desktop aktualizuje porównanie na żywo podczas pisania.
Aby uzyskać pełną automatyczną synchronizację, sprawdź Pro Tip poniżej.
Zatwierdź aktualizację
Gdy wszystko wygląda poprawnie i serwer uruchamia się bez błędów, wróć do karty Changes, wpisz podsumowanie, np. Update sky_base to 1.21.0, i kliknij Commit to main.
Masz teraz opisany punkt kontrolny, do którego możesz zawsze wrócić.
Cofanie zmian, gdy coś nie działa
Aktualizacja sprawia problemy? Zachowaj spokój — GitHub Desktop daje Ci kilka opcji, od łagodnych po radykalne.
Cofnij niezatwierdzone zmiany. W karcie Changes zaznacz pliki (lub wszystkie), kliknij prawym przyciskiem myszy i wybierz Discard Changes / Discard All Changes. To przywróci je do stanu z Twojego ostatniego zatwierdzenia.
Wróć do wcześniejszej migawki. Otwórz kartę History (historia) w lewym pasku bocznym, aby zobaczyć każdą wykonaną przez Ciebie migawkę:
- Aby bezpiecznie cofnąć aktualizację, zachowując czystą historię, kliknij prawym przyciskiem myszy na błędny commit i wybierz Revert Changes in Commit. Tworzy to nowy commit typu „cofnij” — nic nie zostaje utracone.
- Aby w pełni cofnąć się do wcześniejszego stanu, kliknij prawym przyciskiem myszy na wybraną migawkę i wybierz Reset to commit.
Tymczasowo odłóż swoje zmiany — przydatne do testowania aktualizacji na czystym polu, a następnie przywrócenia swojej pracy. Kliknij prawym przyciskiem myszy na nagłówek Changed files i wybierz Stash All Changes. Aby je odzyskać, wybierz Stashed Changes w pasku bocznym i kliknij Restore.
Pro Tip: Automatyczne łączenie aktualizacji dostawców
Masz dość ręcznego ponownego nakładania edycji konfiguracji po każdej aktualizacji? GitHub Desktop może zrobić to za Ciebie, korzystając z trójstronnego scalania (three-way merge).
Idea: zachowaj jedną gałąź z czystymi wydaniami dostawców, a drugą z Twoimi edycjami na górze.
Utwórz gałąź dostawcy (Vendor Branch)
Kliknij rozwijane menu Current Branch na górze, następnie New Branch, a następnie nazwij ją vendor. Ta gałąź będzie zawierać wyłącznie nienaruszone pliki dostawcy.
Rejestruj każde wydanie w gałęzi dostawcy
Gdy pojawi się nowa wersja, przełącz się na gałąź vendor (rozwijana lista Current Branch), wypakuj niezmodyfikowane pliki nowego wydania na istniejące pliki, a następnie zatwierdź je z podsumowaniem takim jak Vendor sky_base 1.21.0.
Połącz aktualizację ze swoimi edycjami
Przełącz się z powrotem na swoją gałąź main (rozwijana lista Current Branch). Następnie otwórz Branch → Merge into current branch…, wybierz vendor, a następnie kliknij merge.
GitHub Desktop automatycznie łączy zmiany dostawcy z Twoimi personalizacjami. Program wstrzymuje pracę tylko wtedy, gdy aktualizacja zmienia dokładnie te same linie, które spersonalizowałeś — i wyświetla czytelny ekran, aby rozwiązać te kilka miejsc. W pozostałych miejscach oba zestawy zmian zostają zachowane dla Ciebie.
Jest to ta sama technika, której profesjonalne zespoły używają do śledzenia bibliotek upstream bez utraty lokalnych zmian — i działa równie dobrze w przypadku Twojego serwera.
Wolisz linię poleceń?
Jeśli czujesz się swobodnie w terminalu, cały powyższy proces można przełożyć na kilka poleceń:
# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"
# Each update
git add . && git commit -m "Pre-update snapshot" # snapshot first
# ...drop in the new release, overwriting files...
git status # which files changed
git diff --stat # a compact per-file summary
git diff # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"
# Rolling back
git restore <file> # undo changes to one file
git restore . # undo all uncommitted changes
git log --oneline # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop # shelve and restore temporarily
Dobre praktyki
- Zatwierdzaj zmiany przed każdą aktualizacją. Migawka zajmuje dwie sekundy, a oszczędza godziny pracy.
- Pisz jasne podsumowania.
Update sky_base to 1.21.0wygrywa zstuff, gdy przeglądasz historię pół roku później. - Ignoruj poufne dane. Dane uwierzytelniające nigdy nie powinny znajdować się w historii wersji.
- Zatwierdzaj zmiany po czystym uruchomieniem, a nie przed nim. Oznaczaj migawkę jako „dobrą” dopiero wtedy, gdy serwer faktycznie działa.
- Śledź cały swój folder
resourcesw jednym repozytorium. W ten sposób pojedynczy rollback może przywrócić stan po błędnej aktualizacji dowolnego skryptu. - Trzymaj pliki lokalnie. Nigdy nie publikuj zasobów objętych licencją lub ochroną escrow w publicznym repozytorium.
Podsumowanie
Aktualizacja serwera FiveM nie musi już oznaczać zgadywania, utraconych personalizacji i gorączkowego szukania kopii zapasowych. Dzięki jednorazowej konfiguracji w GitHub Desktop i minutowej rutynie możesz widzieć każdą zmianę wprowadzaną przez aktualizację, zachować własne edycje w nienaruszonym stanie oraz natychmiast cofnąć każdy błąd — wszystko to bez wpisywania ani jednej komendy.
Następnym razem, gdy w changelogu zobaczysz instrukcję zastąpienia folderu, zrobisz to z pewnością — ponieważ GitHub Desktop za każdym razem pokaże Ci dokładnie, co uległo zmianie.
Jak zsynchronizować czas serwera Windows dla Sky Mission Hub
Zsynchronizuj zegar systemu Windows na swoim serwerze FiveM, zweryfikuj źródło czasu i napraw błędy odrzuconych żądań Mission Hub spowodowane nieaktualną datą i godziną.
Dlaczego systemy policyjne All-in-One dla FiveM są bardziej opłacalne
Praktyczne sprawdzenie cen rynkowych dla systemów policyjnych FiveM. Porównujemy koszt zakupu podobnych funkcji policyjnych oddzielnie w stosunku do wyboru jednego zintegrowanego pakietu, przyjmując za punkt odniesienia standardową cenę dożywotnią w wysokości 80 EUR.