Jak przywrócić GIT do poprzedniego przewodnika stanu, aby przywrócić, zresetować, przywrócić i renosić

Jak przywrócić GIT do poprzedniego przewodnika stanu, aby przywrócić, zresetować, przywrócić i renosić
Jeśli masz doświadczenie programistyczne, musisz być świadomy wielu narzędzi programistycznych. Kiedy indywidualnie opracowujesz projekt za pomocą dowolnego języka programowania, czujesz się komfortowo z interfejsem wiersza poleceń (terminal) lub narzędziami GUI.

Ale co, jeśli pracujesz z członkami zespołu, trudno jest wysłać fragmenty programów do wszystkich członków zespołu indywidualnie. Istnieje również limit rozmiarów plików na różnych platformach, które nie pozwalają użytkownikowi wysłać więcej niż opisany rozmiar.

Trudno jest współpracować, gdy projekt jest zbyt duży i wymaga modyfikacji przez cały czas. W tym celu potrzebujesz rozproszonego systemu kontroli wersji, który pomaga współpracować z członkami zespołu na całym świecie. Dobrze jest korzystać z rozproszonego systemu kontroli wersji do małych i dużych projektów oprogramowania. Każdy z członków zespołu uzyska pełny dostęp do pełnego repozytorium w systemie lokalnym i może pracować w trybie offline.

Jednym z takich wszechstronnych oprogramowania jest Git, a repozytorium obsługi GIT jest znane jako Github, gdzie możesz zapisać swoje projekty i jest to dostępne dla każdego członka zespołu.

Przed rozpoczęciem Git wprowadzenie, musisz wiedzieć o System kontroli wersji (VCS), jak Git jest jednym z rozproszonych systemów sterowania wersją. Musisz mieć pomysł na temat VC, zwłaszcza jeśli masz doświadczenie w tworzeniu oprogramowania.

System kontroli wersji (VCS)

Podczas pracy zespołowej system kontroli wersji pomaga zachować rekord modyfikacji, funkcji i ścieżek w projektach. Dzięki temu zespół może pracować przez współpracę, a także oddzielić swoje fragmenty zadań za pośrednictwem gałęzi. Liczba oddziałów na VCS zależy od liczby współpracowników i może być utrzymywana indywidualnie.

Ponieważ ten system zarządzania procesami rejestruje całą historię zmian w repozytorium, jeśli jakikolwiek członek zespołu popełnił błędy, może porównać go z zapasowymi wersjami pracy i cofnąć. Pomaga to zminimalizować błędy, ponieważ masz możliwość powrotu do poprzedniego stanu.

Inne godne uwagi cechy VC to:

  • Nie zależy to od innych systemów repozytoriów.
  • Możesz utworzyć klon repozytoriów, aby w przypadku awarii lub awarii nie stracisz całego projektu.
  • W przypadku wszystkich plików i dokumentów historia jest dostępna z czasem i datą.
  • Istnieje system tagów w VCS, który pomaga pokazać różnicę między wszystkimi rodzajami różnych dokumentów.

Rodzaje systemu kontroli wersji

VCS jest podzielony na trzy typy:

  1. Lokalny system kontroli wersji (VCS)
  2. Scentralizowany system kontroli wersji (CVC)
  3. System sterowania wersją rozproszoną (DVC)

Lokalny system kontroli wersji

W lokalnym systemie sterowania wersją śledzenie plików są przechowywane w systemie lokalnym; To proste, ale szanse na awarię plików są wysokie.

Scentralizowany system kontroli wersji

W scentralizowanym systemie kontroli wersji scentralizowany serwer śledzi wszystkie pliki; Ma pełną historię wszystkich wersji plików i informacji o kliencie, jeśli sprawdzają pliki z serwera. To jest jak system klient-serwer, w którym każdy może udostępnić serwer, a także uzyskać dostęp do prac wszystkich.

System sterowania wersją rozproszoną

Ostatni jest system sterowania wersją rozproszoną, który kontroluje wady scentralizowanych VC. W tym typu klient może utworzyć klon pełnego repozytorium, który obejmuje śledzenie historii i plików. Serwer wraca w przypadku niepowodzenia za pomocą kopii repozytorium klienta jako klonu, jest uważany za pełną kopię zapasową danych. Projekty typu open source, takie jak Git itp., Użyj tego rodzaju systemu sterowania wersją.

Co to jest git?

Git jest jednym z oprogramowania systemowego sterowania wersją rozproszoną (VCS), które przechowuje wszystkie śledzenie danych. Cel rozwoju Git Oprogramowanie ma zapewnić platformę współpracy, na której wszyscy programiści mogą udostępnić swój kod źródłowy podczas tworzenia projektu. Inne ważne cechy Git Czy; Zapewnia platformę typu open source z wydajnością szybkiej, jest kompatybilna, lekka, niezawodna, bezpieczna, zapewnia integralność danych, zarządza tysiącami działających gałęzi w różnych systemach i tak dalej.

W 2005, Linus Torvalds postanowił utworzyć nowy system kontroli wersji w celu zaspokojenia potrzeb społeczności i utrzymania systemu jądra Linux. Z pomocą innych programistów Linuksa, początkowa struktura Git został opracowany i Junio ​​Hamano był głównym opiekunem od 2005 roku. Linus Torvalds przeszedł offline, przedstawił system rewolucyjny i nazwa go Git. A teraz ogromna liczba międzynarodowych firm, takich jak Google, Firefox, Microsoft i Startups, używa GIT do swoich projektów oprogramowania. Trudno zidentyfikować Git Jako system kontroli wersji (VC), System zarządzania kodem źródłowym (SCM) lub system kontroli rewizji (RCS) Jak jest opracowywane z funkcjonalnością trio.

Git Workflow

Po uruchomieniu projektu GIT dzieli się na trzy segmenty:

  1. Katalog Git
  2. Drzewo robocze
  3. Obszar inscenizacji

Git Informator dotyczy wszystkich plików, w tym historii zmian. Drzewo robocze segment posiada obecny stan projektu i wszystkie zmiany. I Obszar inscenizacji mówi Git jakie możliwe zmiany w pliku mogą wystąpić w następnym zatwierdzeniu.

Istnieją dwie możliwości stanu pliku obecnego w katalogu roboczym:

  1. Nietopięte
  2. Śledzone

Albo plik nie będzie beztreści, albo będzie leżeć w stanie śledzonym.

Zbadajmy te dwa:

Stan niepaktyczny

Pliki, które nie są dodawane, ale obecne w katalogu roboczym będą znajdować się w stanie nieokreszczeni; Git ich nie monitoruje.

Stan śledzony

Śledzone pliki to te pliki obecne w ostatniej migawce i Git ma o nich pomysł.

Każdy z śledzonych plików może znajdować się w jednym z wymienionych substanów:

  1. Zaangażowany
  2. Zmodyfikowane
  3. Wystawiany na scenie

Zaangażowany

Ten stan pliku oznacza, że ​​wszystkie dane pliku są przechowywane w lokalnej bazie danych.

Zmodyfikowane

Plik zmienia swój stan z Zaangażowany Do Zmodyfikowane Po wprowadzeniu zmian w pliku. Mogą istnieć jakiekolwiek zmiany, takie jak usunięcie treści, aktualizacja lub dodanie czegokolwiek. Po prostu ten stan oznacza zmiany, które jeszcze nie zostały popełnione.

Wystawiany na scenie

Stan wystawiony zawierał dwa typy plików: Zmodyfikowane pliki lub pliki nieokreszczeńcze (nowo utworzone pliki). Po zakończeniu wszystkich modyfikacji pliku, jest on przesyłany do stanu zainscenizacji.

Jak zainstalować git na Ubuntu

Nie potrzebujesz pozwolenia Sudo na instalację git na Ubuntu; Można go pobrać z lub bez użytkownika korzeniowego.

Aby sprawdzić, czy Git jest już zainstalowany na twoim urządzeniu, czy nie, uruchom podane polecenie:

$ git --version

Jeśli jest obecny w twoim systemie, otrzymasz Git wersja. Ponieważ nie jest obecny w moim systemie; Aby zainstalować, wykonaj podane polecenie:

$ sudo apt instal git

Teraz uruchom polecenie wersji ponownie, aby sprawdzić, czy jest ona pomyślnie zainstalowana:

$ git --version

Konfigurowanie git

Po procesie instalacji następnym krokiem jest skonfigurowanie Git skonfigurować się, abyś mógł zacząć od Git oprogramowanie.

Aby konfiguracja, musisz wprowadzić swoje imię i nazwisko i adres e -mail za pośrednictwem „Git Config" Komenda.

Po pierwsze, musisz wprowadzić nazwę użytkownika, aby ustawić dla systemu GIT; Wpisz wspomniane polecenie do tego:

$ git config -global użytkownik.Imię „Wardah”

Teraz ustaw adres e -mail za pomocą następującego polecenia:

$ git config -global użytkownik.e -mail „[email protected] "

Kiedy ustawiasz poświadczenia dla Git aplikacja, będzie przechowywana w pliku konfiguracyjnym GIT "./gitconfig ”; Możesz edytować informacje za pomocą dowolnego edytora tekstu, takiego jak Nano, itp.

Poleceniem użyte w tym celu jest:

$ nano ~/.Gitconfig

Jeśli chcesz edytować informacje, takie jak nazwa lub e -mail, zrób to w edytorze i naciśnij „Ctrl+x”A następnie naciśnij „T/y”; Zapisze modyfikacje edytora i wyjdzie.

Pełny przewodnik po przywróceniu, resetowaniu, przywróceniu i rebazie

Podczas pracy z aplikacją GIT stajesz przed wyzwaniami, w których musisz wrócić do dowolnego z poprzednich zatrudnionych. Jest to jeden z mniej znanych aspektów git, ponieważ wielu z nas nie wie, jak łatwo jest wrócić do ostatniego stanu zatwierdzenia.

Łatwo jest cofnąć znaczące zmiany w repozytorium, jeśli znasz różnicę między terminami „Przywrócić„”Odwracać„”Resetowanie", I "REBASE". Aby wykonać wymaganą funkcję (powrót do poprzedniego stanu), powinieneś znać ich różnice.

Ten artykuł obejmie cztery główne aspekty Git:

  1. Git Przywróć
  2. Git Reset
  3. Git Revert
  4. Git Rebase

Wyjaśnijmy je wszystkie osobno, abyś mógł lepiej zrozumieć:

Git Przywróć

Operacja przywracania GIT pomaga przywrócić zawartość z indeksu inscenizacji lub wszelkich zobowiązań w katalogu roboczym. Nie zaktualizuje gałęzi, ale zmienia historię zatwierdzenia podczas przywracania plików z innych zatrudni. Określiło ścieżki w drzewie roboczym; Ścieżki te pomagają znaleźć treść podczas przywracania.

Przywrócenie używa niektórych poleceń, aby odzyskać zawartość, jeśli znajdziesz „wystawiany na scenie”Polecenie, oznacza to przywrócenie plików z Głowa Lub indeks; Aby przywrócić pliki z innych zobowiązań, użyj „-źródło„Polecenie, a jeśli chcesz przywrócić zarówno„ drzewo robocze ”, jak i indeks, możesz to zrobić przez„-wystawiany na scenie" I "-Worktree" polecenia.

Aby przywrócić niedawno dokonane modyfikacje, wykonaj poniżej wspomnianą składnię:

Git Restore [nazwa pliku]

Na przykład dodałeś plik o nazwie „My_git.tekst" Korzystanie z polecenia wspomnianego poniżej:

$ git Dodaj my_git.tekst

Aby sprawdzić, czy plik istnieje, czy nie, podane polecenie zostanie użyte:

Status $ git

Teraz usuńmy ten plik za pomocą:

$ rm -f my_git.tekst

Ponownie sprawdź status:

Status $ git

Jak widać, że plik został usunięty. Teraz, aby go przywrócić, użyj:

$ git Przywróć my_git.tekst

Sprawdź ponownie status:

Status $ git

Plik został przywrócony. „„wystawiany na scenie" Flaga służy do przywrócenia określonego pliku z wcześniej dodanego git, więc aby to zrobić, postępuj zgodnie z podaną składnią:

Git Restore -Staged [nazwa pliku]

Aby przywrócić wiele plików z obszaru inscenizacji, musisz użyć znaków wieloznacznych z nazwą pliku; tak jak:

Git Restore --staged *[nazwa pliku]

Aby przywrócić niezapomniane modyfikacje lokalne, ta sama składnia będzie przestrzegana, jak to zrobiliśmy powyżej, ale wyeliminuj „„-wystawiany na scenie„Flaga z polecenia.

Pamiętaj, że tych modyfikacji nie można cofnąć.

Git Restore [nazwa pliku]

W bieżącym katalogu roboczym wszystkie obecne pliki można przywrócić za pomocą następującej składni:

Git Przywróć .

Git Reset

Możesz rozważyć Git Reset Jako funkcja obrońcy, ponieważ służy do cofania modyfikacji. Kiedy korzystasz z funkcji resetowania GIT, zwróci obecne środowisko do poprzedniego zatwierdzenia. To środowisko pracy może być dowolnym stanem, takie jak katalog roboczy, obszar inscenizacji lub lokalny magazyn.

Wyjaśniliśmy Obszar inscenizacji I Katalog roboczy; w funkcji resetowania, Głowa jest wskaźnikiem w kierunku nowej gałęzi lub obecnej gałęzi. Ilekroć przełączasz się z poprzedniej, odnosi się on do nowego oddziału. Jest to odniesienie do poprzedniego oddziału w kierunku dalszego, więc można go uznać.

Aby uruchomić polecenie resetowania git, oferuje ci trzy różne tryby GIT; Miękki, Mieszany, I Twardy. Po wykonaniu polecenia resetowania git, będzie używać mieszany tryb domyślnie.

Jeśli przeprowadzimy się do Git Resetuj ciężko, Wskazuje głowę do określonego zatwierdzenia i usuwa wszystkie zatwierdzenia po konkretnym zatwierdzeniu. Kiedy korzystasz z polecenia Resetuj Hard, aktualizuje katalog roboczy, a także obszar inscenizacji i zmienia historię zatwierdzenia. Git reset miękki resetuje wskaźniki odniesienia i aktualizuje je; Kiedy mijamy -miękki Argument, nie dotyka obszaru roboczego i oceny inscenizacji i resetuje historię zatwierdzenia. Git reset mieszany jest domyślnym trybem GIT; Po wykonaniu go wskaźniki odniesienia są aktualizowane i wysyłają cofnięte zmiany z indeksu inscenizacji do katalogu roboczego, aby je ukończyć.

Aby zresetować (cofnij) wszystkie modyfikacje, które dokonałeś w ostatnim zatwierdzeniu, zostanie użyte następujące polecenie:

$ git reset -twarda głowa

Odrzuci wszystkie zmiany, które zachodzą w ostatnim zatwierdzeniu. I dla dwóch zobowiązań wcześniej "GŁOWA":

$ git reset -twarda głowa ~ 2

Powyższe polecenie jest prawie używane, ponieważ wszystko, w tym historia zatwierdzenia, zostanie zaktualizowane do konkretnego zatwierdzenia. Ponadto indeks inscenizacji i katalog roboczy zostaną również zresetowane do tego konkretnego zatwierdzenia. Możesz stracić kluczowe dane, które były w toku w indeksie inscenizacji i katalogu roboczym. Aby tego uniknąć, użyj „-soft” w miejscu twardego.

$ git Reset -Soft Head

Powyższe polecenie nie zmieni katalogu roboczego i indeksu inscenizacji. Skorzystajmy z opcji „Resetuj”, aby zablokować plik:

Najpierw utwórz plik i dodaj go do dowolnej gałęzi za pomocą:

$ git dodaj indeks.html

Powyższe polecenie dodaje "indeks.html ” plik do gałęzi głównej. Aby sprawdzić status:

Status $ git

Aby niestosować plik "indeks.html ”, używać:

indeks resetowania $ git.html

Git Revert

Git Revert Operacja jest dość podobna do Git Reset Komenda; Jedyną różnicą jest to, że potrzebujesz nowego zobowiązania, aby wrócić do konkretnego zatwierdzenia podczas wykonywania tej operacji. Polecenie Revert służy do anulowania zmian, które zachodzą po wykonaniu polecenia resetowania. W tym celu nie usunie żadnych danych; Po prostu dodaj nowe zatwierdzenie na końcu, który anuluje modyfikację w repozytorium.

Aby powrócić do zatwierdzenia, wspomnij o skrócie z opcją powrotu:

git reverver [commit_ref]

Git Revert polecenie wymaga odniesienia, co oznacza, że ​​polecenie nie zadziała. Użyjmy "GŁOWA" Jako odniesienie do zatwierdzenia.

$ git reverver head

Polecenie wspomniane powyżej przywróci najnowsze zatwierdzenie.

Git Rebase

Git Rebase służy do scalania lub łączenia sekwencji zatrudnienia w nowej bazie. Jest to proces integracji zmian i przenosi je z jednej gałęzi do drugiej (jedna baza do drugiej). Jest to alternatywa dla „łączyć„Polecenie, ale w jakiś sposób różni się od tego, a zatem może nas mylić, ponieważ oba są podobne. „„łączyć„Dowództwo służy do łączenia popełnienia historii i utrzymania zapisu, jakiego się stało, podczas gdy rebaza poleca przepisywane lub ponownie złożyli historię zatwierdzeń na szczycie innego oddziału.

Pokazajmy pojęcie opcji rebazy na przykładzie:

W powyższej historii „cechy”To gałąź z„B”Jako podstawa. Użyj następującego polecenia, aby scalić "cechy" oddział po ostatecznym zatwierdzeniu:

Git Rebase [commit_ref]

Odniesienie do zatwierdzenia może być jak gałąź, identyfikator lub tag. Na przykład, aby zbawić "cechy" oddział do mistrza, czyli "D", Użyj poniżej wspomnianego polecenia:

$ git Checkout Funkcje $ git rebase master

Kiedy wykonujesz to polecenie, "cechy" Oddział zostanie dołączony do mistrza, który jest nową bazą:

Wniosek

W zarządzaniu konfiguracją oprogramowania, Kontrola wersji jest kluczowym elementem do zarządzania zmianami w dokumentacji, programach lub projektach oprogramowania. Zmiany te są identyfikowane numerycznie i zatytułowane „rewizja". Załóżmy, że pierwsza wersja jest ustalona jako „wersja 1”. Gdy jakikolwiek członek zespołu zmieni projekt, uratuje go jako „wersja 2” z znacznikiem czasu i zainteresowanej osoby, która dokonała modyfikacji.

System kontroli wersji jest podzielony na trzy kategorie lokalne VC, scentralizowane VC i rozproszone VC. Jednym z przykładów rozproszonych VC jest Git, Oprogramowanie typu open source, które pomaga zarządzać wszystkimi rekordami projektu programistycznego. Zapewnia lekką platformę współpracy z wysoką wydajnością i zarządza kilkoma działającymi gałęziami w różnych systemach.

Ilekroć zaczynasz od projektu w systemie GIT, przepływ pracy GIT pomaga skutecznie i konsekwentnie zarządzać nim; jest podzielony na trzy segmenty: git Informator, Drzewo robocze, I Obszar inscenizacji.

Projekt, nad którym pracujesz, jest albo w Stan niepaktyczny Lub Śledzone państwo. Untracked Plik jest uważany za nowy plik, który wcześniej nie był częścią katalogu roboczego, podczas gdy śledzone pliki są częścią ostatnich migawek i dodatkowo podzielone na klasy Zaangażowany, Zmodyfikowane, I Wystawiany na scenie państwa.

A zaangażowany Stan oznaczają, że dane plików są przechowywane w lokalnej bazie danych; Za każdym razem, gdy wprowadzasz jakiekolwiek zmiany w pliku, przenosi on do stanu zmodyfikowanego. Wystawiany na scenie Stan zawiera zmodyfikowane pliki i nowo utworzone pliki; Po zakończeniu wszystkich modyfikacji pliku, jest on przesyłany do stanu zainscenizacji.

Ten zapis pokazuje, w jaki sposób możesz zainstalować i skonfigurować system GIT na Ubuntu 20.04.

Następnie omówiliśmy, jak przywrócić, renderować, przywrócić i zresetować operacje git podczas wykonywania projektu. Git Przywróć Funkcja służy do przywracania treści z zatwierdzeń w katalogu roboczym. Ilekroć wykonasz polecenie przywracania, zmieni historię zatwierdzenia i określi ścieżki.

Resetowanie, lub możemy powiedzieć, że funkcja wycofania pomaga cofnąć modyfikacje w Repozytorium Git i zwróci obecne środowisko do poprzedniego zatwierdzenia.

Git Revert Operacja jest dość podobna do Git Reset Komenda; Jedyną różnicą jest to, że potrzebujesz nowego zobowiązania, aby wrócić do konkretnego zatwierdzenia podczas wykonywania tej operacji.

A ostatni to Git Rebase który służy do scalania lub łączenia sekwencji zatrudnienia w repozytorium. Różni się od polecenia scalania jako „łączyć„Dowództwo służy do łączenia popełnienia historii i utrzymania rekordu, jakiego się stało, podczas gdy”REBASE„Polecenia przepisują lub ponownie złożył wniosek o historię zatwierdzeń na szczycie innego oddziału.

Artykuł pokazał, jak możesz wykonywać te operacje podczas korzystania z oprogramowania GIT w Linux.