
Harry James
0
2257
465
Jeśli kiedykolwiek pracowałeś z kolegami nad dokumentem, znasz ten ból: ktoś zdaje pierwszy krok (dokument.doc), a następnie wyślij go e-mailem do wszystkich. Następna osoba robi to samo, podobnie jak trzecia, przy każdej poprawce (dokument_rev3.doc) do nazwy pliku. Menedżerowi podoba się to, co widzi, i oznacza to jako kompletne (dokument_final.doc)… Aż do nadejścia zmian w ostatniej chwili (document_final_Aaron's change_reviewed_by_Bob_now_really_final.doc).
Teraz wyobraź sobie takie zmiany w dziesiątkach plików kodu źródłowego. Programiści stworzyli systemy kontroli wersji (VCS), aby rozwiązać ten problem. Mają nieco techniczny charakter, ale mogą być również przydatne dla zaawansowanych użytkowników. Przyjrzyjmy się teraz podstawom kontroli wersji przy użyciu najlepszego systemu, Git.
Omówienie używanej kontroli wersji
Podstawowym celem VCS jest przechwytywanie wersje (nazywany również poprawki) pliku w czasie. Oznacza to, że nie należy polegać na prymitywnych metodach takich jak ta opisana powyżej. W tych systemach, kiedy uzyskujesz dostęp “dokument.doc” domyślnie pracujesz nad najnowszą wersją. Możesz także wrócić do historii pliku i pobrać poprzednie wersje. Systemy zbudowane specjalnie do zarządzania wersjami plików rozpoczęły się w fazie tworzenia oprogramowania, ale stały się jeszcze bardziej popularne “główny nurt” aplikacje również.
Ewolucja kontroli wersji w rozwoju oprogramowania
Aplikacje kontroli wersji pierwotnie powstały jako sposób na zapobieganie łamaniu kodu przez innych programistów. Pierwsze systemy po prostu pozwalały użytkownikom blokować pliki przed innymi edycjami, podczas gdy systemy drugiej generacji (takie jak Subversion Jak kontrolować wersje WordPress za pomocą Subversion [Linux] Jak kontrolować wersje WordPress za pomocą Subversion [Linux] Większość z was prawdopodobnie już wie, że WordPress obsługuje dużą liczbę stron internetowych, na które patrzymy każdego dnia. Dzięki dużej bazie użytkowników i wsparciu możesz zrobić wiele fajnych rzeczy dzięki…) dodaniu realizacji całego projektu z centralnego repozytorium.
Chociaż te systemy drugiej generacji są nadal szeroko stosowane, przemysł migruje do systemów trzeciej generacji. Główną cechą tych systemów jest to, że są Rozpowszechniane, co oznacza, że nie ma centralnego repozytorium. Każdy użytkownik ma raczej własną pełną kopię repozytorium (w tym wszystkie wcześniejsze wersje). Ale wszelkie zmiany (nawet pełne wersje) są “lokalny” dopóki on “popycha” je do innego repozytorium. Ten użytkownik może następnie pobrać klon, aby wprowadzić zmiany i powtórzyć proces.
Bieżąca kontrola wersji dla programistów
Możliwość przechwytywania wielu wersji tej samej rzeczy jest również powszechna dla przeciętnych użytkowników. Nie tylko dla koderów: najlepsze systemy kontroli wersji dla pisarzy Nie tylko dla koderów: najlepsze systemy kontroli wersji dla pisarzy Wzmianka o kontroli wersji lub kontroli wersji sprawia, że wydaje się, że to coś dla maniaków. Będziesz zaskoczony, wiedząc, że systemy kontroli wersji mają swoje miejsce nie tylko w piśmie akademickim, ale w… Dzięki dostępowi do tańszej pamięci masowej, zarówno na komputerze lokalnym, jak i za pomocą łatwych w użyciu usług w chmurze, użytkownicy mogą teraz śledzić historię swoich plików. Programy ogólnego przeznaczenia robią to na wiele sposobów.
System operacyjny potrafi przechwycić historię plików lub folderów Przewodnik tworzenia kopii zapasowych danych w systemie Windows 10 Przewodnik tworzenia kopii zapasowych danych w systemie Windows 10 Podsumowaliśmy wszystkie opcje tworzenia kopii zapasowych, przywracania, odzyskiwania i naprawy, jakie można znaleźć w systemie Windows 10. Skorzystaj z naszych prostych wskazówek i nigdy nie rozpaczaj ponownie utracone dane! . Może się to zdarzyć automatycznie za każdym razem, gdy plik jest zapisywany lub zgodnie z regularnym harmonogramem. Trochę aplikacje komputerowe umożliwiają także przechwytywanie wersji lub migawek plików. Na przykład LibreOffice zapewnia “Zapisz wersję” funkcja (jak pokazano na górnym obrazku poniżej), która pozwala zapisać wiele wersji dokumentu w jednym pliku. Wreszcie aplikacje internetowe / w chmurze, takie jak Dysk Google, ownCloud itp., Będą również przechodzić poprzednie iteracje pliku lub dokumentu (jak pokazano w Dokumentach Google na dolnym obrazku poniżej), zarówno za kulisami, jak i na wyraźne polecenie.
Po co więc korzystać z kontroli wersji skoncentrowanej na programowaniu?
Ponieważ wszystkie te opcje na poziomie systemu operacyjnego lub aplikacji już istnieją, po co zawracać sobie głowę tymi nerdy narzędziami do programowania? Istnieje kilka wad powyższych metod, w tym:
- Niektóre systemy operacyjne zapisują każdą poprawkę wprowadzoną do pliku w nowej wersji Czas cofania: 4 narzędzia i porady, aby przywrócić usunięte pliki w systemie Windows Czas cofania: 4 narzędzia i porady, aby przywrócić usunięte pliki w systemie Windows Jeden z systemu Windows ” Największe wady mogą Ci pomóc, gdybyś przypadkowo usunął ważny plik: System plików Windows tak naprawdę nie usuwa plików. Skasowane pliki można przywrócić do momentu ich zastąpienia. . Spowoduje to nie tylko niepotrzebne przechowywanie, ale także utrudni identyfikację konkretnego punktu przywracania pliku.
- Te rozwiązania mogą również wykorzystywać plik jako podstawową jednostkę do zarządzania. Ale systemy kontroli wersji zazwyczaj działają na poziomie katalogu (w tym podkatalogów). VCS ułatwia dokładne sprawdzenie, jaki plik się zmienił i kiedy.
- Te same rozwiązania również nie dają możliwości oznaczania iteracji w większości przypadków. To również utrudnia znalezienie pliku z fragmentem tekstu, który w pewnym momencie nadpisałeś, zanim zdałeś sobie sprawę, jak genialny był.
- Wersjonowanie przez systemy operacyjne i aplikacje, takie jak Word, również wprowadza pojedyncze punkty awarii. W przypadku programu Word jest to sam plik (jeśli zostanie uszkodzony, pożegnaj się również ze wszystkimi poprzednimi kopiami). W przypadku systemu operacyjnego jest to dysk twardy Jak naprawić martwy dysk twardy, aby odzyskać dane Jak naprawić martwy dysk twardy, aby odzyskać dane Jeśli twój dysk twardy ulegnie awarii, ten przewodnik pomoże ci w naprawie dysku twardego i odzyskiwanie danych. , chyba że jesteś odpowiedzialnym użytkownikiem i regularnie tworzysz kopie zapasowe Przewodnik tworzenia kopii zapasowych i przywracania systemu Windows Przewodnik tworzenia kopii zapasowych i przywracania systemu Windows Zdarzają się katastrofy. Jeśli nie chcesz stracić danych, potrzebujesz dobrej procedury tworzenia kopii zapasowych systemu Windows. Pokażemy Ci, jak przygotować kopie zapasowe i je przywrócić. .
- Charakter usług internetowych oznacza, że starsze wersje mogą znajdować się w chmurze. Na przykład, jeśli spróbujesz wyświetlić historię pliku Dropbox w systemie Linux (jak pokazano na obrazku poniżej), nastąpi przekierowanie do strony internetowej.
Jeśli którykolwiek lub wszystkie z tych problemów sprawiają, że chcesz czegoś więcej, sprawdź następną sekcję, w której je rozwiązujemy Git.
Kontrola wersji za pomocą Git
W następnych sekcjach przejdziemy przez każdy z tych etapów bardzo ważnego projektu: ten artykuł. Zrobimy to za pomocą Git w wierszu polecenia. Znajomość poleceń terminalu ułatwi znalezienie odpowiedników GUI i zagwarantuje, że będziesz mógł go używać na każdej platformie.
1. Konfigurowanie repozytorium Git
Jeśli na twoim komputerze nie ma zainstalowanego git (Maca, podobnie jak niektóre dystrybucje Linuksa), możesz pobrać instalator Windows ze strony pobierania projektu lub zainstalować w systemie Linux za pomocą polecenia (specyficznego dla twojej dystrybucji), takiego jak:
sudo apt install git
Następną rzeczą, którą musimy zrobić, to skonfigurować git magazyn, który jest tylko folderem zawierającym Twój projekt. Aby skorzystać z wersji Git, musisz zainicjować folder jako repozytorium. Możesz to zrobić w wierszu polecenia za pomocą następującego polecenia:
git init
Po zakończeniu możesz nic nie widzieć, ale włącz “Pokaż ukryte pliki” w menedżerze plików, a zobaczysz, że jest nowa .git folder (jak pokazano na powyższym obrazku). W tym miejscu git przechowuje wszystkie informacje, więc nie przeszkadza.
2. Dodaj i zatwierdź swój pierwszy plik
Następnym krokiem jest utworzenie niektórych treści (plików) w projekcie. Mogą to być pliki dowolnego typu, ponieważ większość projektów programistycznych składa się z kodu (tekstu) i zasobów takich jak grafika (binarna) Wszystko, co musisz wiedzieć o formatach plików i ich właściwościach Wszystko, co musisz wiedzieć o formatach plików i ich właściwościach używaj pliku słowego zamiennie: muzyka, obraz, arkusz kalkulacyjny, pokaz slajdów i tak dalej. Ale co w ogóle czyni plik „plikiem”? Spróbujmy zrozumieć tę podstawową część informatyki. . Po utworzeniu wykonaj następujące czynności w wierszu polecenia, wciąż będąc w katalogu projektu:
status git
Pierwszym krokiem do zatwierdzenia jest “etap” nowe lub zaktualizowane elementy. Zobacz, jak powyższy wynik informuje, że są “bez sceny” zmiany? Możesz ustawić wszystko w swoim katalogu (rekurencyjnie, tj. Dołączyć podfoldery i ich pliki) za pomocą tego polecenia:
git -a .
The “-za” flaga jest dla “Dodaj,” i kropka odnosi się do bieżącego katalogu. Zasadniczo to mówi “dodaj wszystkie pliki do mojego zatwierdzenia.” Teraz, aby faktycznie dokonać zatwierdzenia, wpisz następujące polecenie:
git commit -m „WHOOP, moje pierwsze zatwierdzenie!”
Teraz, gdy ponownie sprawdzisz status, nie powinno być żadnych oczekujących zmian. Aby zobaczyć sam zatwierdzenie, sprawdź dziennik git, używając tryb wykresu, z listą przyciętą do jedna linia, i ozdobiony dla czytelności:
git log --all --decorate --oneline --graph
Spowoduje to wyświetlenie ładnej osi czasu zatwierdzenia, z najnowszymi na górze.
3. Utwórz oddział do eksperymentowania
Podczas pracy możesz odejść w określonym kierunku, nie wiedząc, czy to się uda. W tym celu chcesz utworzyć gałąź za pomocą następującego polecenia:
git branch eksperyment1 git checkout eksperyment1
Drugie polecenie przełącza cię do “eksperyment 1” Oddział. Możesz przełączyć z powrotem, zastępując go “mistrz.” Gdy zaczniesz pracę nad tekstem, zwróć uwagę na różnicę między ten sam plik z każdego oddziału. Po pierwsze “eksperyment 1” gałąź z nowym tekstem:
Porównaj to z oryginałem:
Teraz, po dłuższej pracy (kończącej się nowym zatwierdzeniem), najlepsze, co możesz wymyślić, to “Lorem ipsum dolor sit amet… ?” Co to jest? To nonsens i powinien zostać natychmiast usunięty z twojego projektu. Możesz usunąć swój oddział za pomocą następującego polecenia (“-re” do wymuszenia usunięcia):
oddział git -D eksperyment 1
Teraz uruchom inną gałąź i dodaj coś inteligentnego wraz z kilkoma obrazkami:
git oddział eksperyment 2 git kasa eksperyment 2 git dodaj. git commit -m „Więcej tekstu, dodane obrazy”
4. Scal swoje zmiany
Wreszcie, gdy będziesz zadowolony ze zmian w bieżącym oddziale, poniższe polecenie połączy je z “mistrz” Oddział. Pod warunkiem, że nie robiłeś wiele przeskoków w obie strony, spowoduje to zastosowanie wszystkich nowych zmian i utworzenie nowej wersji. Następujące w wierszu polecenia połączy je dla Ciebie:
eksperyment git merge2
Teraz masz wersję, która łączy najnowszą wersję “mistrz” z najnowszym w “eksperyment 2.” W tym momencie możesz pozbyć się eksperymentu (mimo wszystko był udany), wykonując następujące czynności:
gałąź git -d eksperyment 2
Pamiętaj, że stracisz dowolne zmiany przyrostowe dokonane w tym oddziale tylko wtedy, gdy to zrobisz.
5. Naciśnij w bezpieczne miejsce
Wreszcie Git to Rozpowszechniane system, co oznacza, że możesz mieć wiele kopii swojego repozytorium i zsynchronizować je. Na przykład, stwórz nowe repozytorium na serwerze, na którym możesz SSH Jak zdalnie zarządzać serwerem Linux za pomocą SSH Jak zdalnie zarządzać serwerem Linux za pomocą SSH SSH jest bardzo funkcjonalny i dlatego jest przeznaczony do zdalnego zarządzania serwerem. Dowiedz się, jak zdalnie zarządzać serwerem Linux za pośrednictwem SSH, od połączenia, przez instalację oprogramowania i przesyłanie plików. za pomocą tego polecenia:
git init --bare
The “-odsłonić” Flaga ustawia go jako rodzaj repozytorium tylko do odczytu, w którym nie można bezpośrednio modyfikować plików. Następnie możesz ustawić to jako zdalną kopię lokalnego repozytorium za pomocą następujących poleceń (pierwsze polecenie zapewnia zdalne tworzenie nowych oddziałów lokalnych):
git config push.default dopasowanie git zdalne dodanie centralnego ssh: // [nazwa użytkownika] @ [URL] / ścieżka / do / repozytorium git push --set-upstream central master
Skonfiguruj przechowywanie wersji i tworzenie kopii zapasowych za pomocą Git
Dzięki powyższej konfiguracji możesz postępować zgodnie z prostym procesem, aby cała praca nad projektem była nie tylko wersjonowana, ale także tworzona kopia zapasowa.
- Wprowadź zmiany w plikach projektu.
- Kwestia “git add .” aby dodać wszystkie zmiany do zatwierdzenia.
- Kwestia “git commit -m [jakaś wiadomość]” zatwierdzić zmiany w swoim lokalny magazyn. Powtórz od początku.
- Kwestia “git push” aby zatwierdzać zmiany w zdalnym repozytorium w regularnych odstępach czasu.
- Kwestia “git clone ssh: // [nazwa użytkownika] @ [URL] / ścieżka / do / repozytorium” z innej maszyny do
Czy zalety systemów kontroli wersji interesują Cię? A może aplikacje do tworzenia kopii zapasowych niezwiązane z programowaniem są wystarczające dla Twoich potrzeb? Daj nam znać, co myślisz w komentarzach poniżej!