Jak dawać Git Filtr Grenle All Command?

Jak dawać Git Filtr Grenle All Command?

„„Git Filtr Grad„Dowództwo przepisuje całą historię gałęzi, co oznacza, że ​​wszelkie usunięte lub zmodyfikowane zatrudnienie zostaną utracone na stałe. Dlatego wysoce sugeruje się, abyś wykonał kopię zapasową repozytorium przed skorzystaniem z tego polecenia. Ponadto to polecenie tworzy nowe zatwierdzenia i sha Hash. Tak więc nie zaleca się używania go w gałęzi publicznej.

W tym artykule omówiono:

    • Jakie są podstawowe opcje filtra dostępne dla „Git Filtr Grad" Komenda?
    • Jak wykorzystać „Git Filtr Grad„Polecenie z„-Filtr drzewa" Opcja?
    • Jak wykorzystać „Git Filtr Grad„Polecenie z„-Filtr indeksowy" Opcja?
    • Jak wykorzystać „Git Filtr Grad„Polecenie z„-Filtr MSG" Opcja?

Jakie są podstawowe opcje filtra dostępne dla polecenia „Git Filter-Branch”?

Podstawowe opcje filtru „dla„Git Filtr Grad„Polecenia podano poniżej:

Opcje filtru Opis
-Filter Env Zmodyfikuj środowisko, w którym użytkownicy dokonują popełnienia.
-Filtr drzewa Przepisaj drzewo i jego treść.
-Filtr indeksowy Przepisz indeks.
-Filtr rodzicielski Przepisz listę nadrzędną zatwierdzenia.
-Filtr MSG Przepisz wiadomości zatwierdzenia.
-Filtr Commit Wykonać zatwierdzenia.
-Filter nazwy tagów Przepisz nazwę tagu.
-Pune-pusty Poinstruuj Git-Filter Branch, aby usunął puste zatrudnienie.

Jak korzystać z polecenia „Git Filter-Branch” z opcją „-tree-filter”?

Czasami użytkownicy chcą usunąć konkretny plik ze wszystkich zobowiązań z niektórych powodów, na przykład jeśli plik zawiera pewne poufne lub tajne informacje. W tej sytuacji skorzystaj z „git filtra -branch -tree -filtr „rm -rf””Polecenie do usunięcia określonego pliku z całej historii repozytorium.

Postępuj zgodnie z podanymi instrukcjami, aby to zrobić.

Krok 1: Przejdź do lokalnego repozytorium

Najpierw napisz polecenie danego wiązki i przekieruj do pożądanego katalogu:

$ cd "c: \ git \ local_repo"


Krok 2: Wyświetl zawartość repozytorium

Następnie wyświetl treść bieżącego repozytorium za pomocą następującego polecenia:

$ ls


Zgodnie z poniższym wyjściem bieżące repozytorium zawiera dwa pliki. Wybierz konkretny plik, który należy usunąć. Na przykład wybraliśmy „plik 1.tekst" plik:


Krok 3: Usuń plik z całej historii

Następnie uruchom podane polecenie wraz z wybraną nazwą pliku, aby usunąć ten plik:

$ git filtr-branch --Tree-Filter 'rm -rf File1.tekst'


Tutaj:

    • "-Filtr drzewa„Opcja służy do określenia polecenia do uruchomienia na każdym drzewie w gałęzi.
    • "rm -rf„Opcja jest wykorzystywana do usunięcia„plik 1.tekst" plik:


Notatka: Jeśli plik nie jest obecny w niektórych zatwierdzeniach, wówczas wykonuje „”Nazwa pliku RM„Opcja nie będzie działać dla drzew i zatwierdzeń.

Krok 4: Sprawdź zmiany

Na koniec upewnij się, czy plik został usunięty, przeglądając treść repozytorium:

$ ls


Jak korzystać z polecenia „Git Filter-Branch” z opcją „-INDEX-FILTER”?

Jeśli użytkownik chce zmodyfikować indeks repozytorium, a nie całej gałęzi, „The”, „Git filtra-branch-indeks-filtr„Można użyć polecenia. Może to być przydatne do usuwania określonych plików z indeksu.

Krok 1: Wyświetl pliki repozytorium

Wykonaj poniższe polecenie, aby wymienić dostępne pliki bieżącego repozytorium:

$ git ls-files


Poniższy obraz wyświetla listę plików. Wybierz żądany plik, który chcesz usunąć z indeksu. Na przykład wybraliśmy „plik4.tekst" plik:


Krok 2: Usuń plik z indeksu

Następnie usuń wybrany plik z indeksu, zapisując następujące polecenie:

$ git filtr-branch --index-filter 'git rm-pobudzony --gnore-unmatch file4.tekst'


Tutaj:

    • "-Filtr indeksowy”Określa polecenie, które zostanie użyte do filtrowania indeksu.
    • "-buforowany„Opcja usuwa/usuwa pliki z indeksu.
    • "-Ignoruj ​​unmatch”Ignoruje wszelkie błędy:



Krok 3: Sprawdź zmiany

Na koniec uruchom podane polecenie, aby upewnić się, że plik został usunięty z indeksu:

$ git ls-files


Jak korzystać z polecenia „Git Filter-Branch” z opcją „-MSG-FILTER”?

Czasami użytkownicy chcą przepisać konkretny komunikat zatwierdzenia z historii dziennika. W tym celu „Git Filter -Branch -f -Msg -Filter 'sed „s /// g”' --All" może być użyte.

Krok 1: Zobacz historię zatwierdzenia

Najpierw sprawdź Historię Commit SHA Hash obecnego działającego repozytorium:

$ git log -linia


Na poniższym zrzucie ekranu można zobaczyć historię zatwierdzenia. Wybierz żądaną wiadomość o zatwierdzeniu, którą należy przepisać. Na przykład wybraliśmy „Dodano plik2"Zobowiązaj wiadomość:


Krok 2: Przepisz wiadomość zatwierdzenia

Następnie wykonaj następujące polecenie, aby przepisać wybrany komunikat zatwierdzenia:

$ git filtr-branch -f--msg-filtr „sed” s/file2 Dodano/dodanie pliku 2/g "'---all


Tutaj:

    • "-Filtr MSG„Opcja służy do zmiany komunikatu zatwierdzenia.
    • "-F„Opcja wykonuje operację mocno.
    • "sed”Polecenie wyszukuje ciąg„Dodano plik2”W komunikacie zatwierdzenia i zastępuje go„Dodawanie pliku2" wiadomość.
    • "- -Wszystko„Opcja stosuje filtr do wszystkich gałęzi w repozytorium:



Krok 3: weryfikacja

Na koniec sprawdź zmiany, sprawdzając zatwierdzenie w historii:

$ git log -linia


Można zauważyć, że stary komunikat zatwierdzenia został zastąpiony nowym komunikatem zatwierdzenia:


Chodziło o „Git Filtr Grad„Polecenie w git.

Wniosek

„„Git Filtr Grad”Polecenie służy do przepisywania historii zatwierdzenia określonej gałęzi lub wszystkich gałęzi w repozytorium. Umożliwia użytkownikom wykonywanie różnych operacji na zatwierdzeniach, takich jak usuwanie plików, modyfikowanie komunikatów zatwierdzenia itp. Ponadto można tego użyć do oczyszczenia określonego repozytorium i usunięcia poufnych informacji. W tym artykule wyjaśniono polecenie „Git Filter-Branch” i jego opcje filtra.