„„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 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:
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:
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:
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.