Ten przewodnik zawiera podstawowy przegląd zastosowania poprawki do programu lub pliku.
Polecenie używane do nakładania łatek to polecenie łaty, ale aby zastosować łatę, należy również użyć komendy diff, aby podać różnice, które należy załatać.
Dlaczego miałbyś utworzyć łatkę?
Wyobraź sobie, że masz plik HTML w następujący sposób:
Witaj w MySite
Powyższe źródło, po załadowaniu do przeglądarki internetowej, wyświetli słowa "Welcome to MySite".
Powszechne jest, gdy programuje się wiele wersji tego samego pliku. Na przykład będzie jedna wersja, która jest aktualną wersją na żywo, w gałęzi rozwojowej będzie inna wersja, która może zawierać wiele zmian, w końcu może być inna wersja w gałęzi wydania.
Oddział wydania byłby wersją używaną przez prawdziwych użytkowników (tj. W tym przypadku odwiedzających witrynę MySite). Powiedzmy, że MySite jest w wersji 1.0. Po fazie projektowania utworzysz gałąź wydania, która byłaby w tym przypadku 1.1. Branża deweloperska wyprzedza gałąź wydania, ponieważ może zawierać zmiany, które nie powinny zostać opublikowane w wersji 1.2, ale będą dotyczyły wersji 1.1.
Wyobraź sobie, że istnieje błąd, przez który MySite powinien być nazywany YourSite. Można przejść do każdej gałęzi po kolei i wprowadzić zmiany do wersji na żywo, wersji rozwojowej i wersji wydania, które można wprowadzić na żywo jako poprawkę, a następnie zastosować poprawkę do gałęzi rozwoju i wydania.
Przykład pracy
Utwórz plik o nazwie myfile.html z następującym kodem:
Witaj w MySite
Jest to udokumentowany przykład łatania kodu źródłowego.
Utwórz kolejny plik o nazwie myfile_v2.html z następującym kodem:
Witamy w YourSite
Jest to udokumentowany przykład łatania kodu źródłowego.
Pierwszy plik to oryginalna strona internetowa z nagłówkiem "Welcome to MySite". Drugi plik jest taki sam, jak pierwszy plik, z tym że MyFile jest przemianowany na YourFile w tekście.
Jak utworzyć plik różnicowy
Aby stworzyć łatkę, musimy ustalić różnice między myfile.html i myfile_v2.html.
Możemy to zrobić za pomocą polecenia diff w następujący sposób:
diff -u myfile.html myfile_v2.html> myfile.patch
Możesz otworzyć plik myfile.patch w edytorze nano w następujący sposób: nano myfile.patch
Linie niezmienione wyświetlane są na niebiesko. Linie, które zostały usunięte, są wyświetlane na czerwono, a linie, które zostały dodane, są wyświetlane na zielono. Aby zastosować poprawkę do pliku myfile.html, użyj następującego polecenia: łatka <myfile.patch Spowoduje to zastosowanie zmian utworzonych za pomocą polecenia diff do oryginalnego pliku myfile.html. Jeśli chcesz przywrócić poprawkę, aby mój plik.html powrócił do pierwotnego stanu, użyj następującego polecenia: patch -R <mójplik.patch Za pomocą polecenia patch można zastosować poprawki w całej strukturze katalogów. Są znacznie lepsze narzędzia niż łatka do tworzenia poprawek i zapewnienia dobrej kontroli źródła. Jest powód, że tyle projektów rozwojowych wykorzystuje GIT do kontroli źródła. GIT ułatwia tworzenie spójnej strategii rozgałęziania. Polecenie patch jest w porządku dla zastosowania różnic w skrypcie bash lub czymś prostym, ale równie łatwo można utworzyć kopię zapasową plików, które mają być łatane i po prostu skopiować nowe pliki w to samo miejsce. Aby uzyskać więcej informacji, użyj polecenia man: łatka dla człowieka Jak zastosować poprawkę za pomocą polecenia Patch
Jak przywrócić poprawkę
streszczenie