Udostępnij za pośrednictwem


Ignoruj zmiany plików za pomocą usługi Git

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Nie każdy plik w projekcie wymaga śledzenia przez usługę Git. Przykłady plików, które zwykle nie wymagają śledzenia, obejmują pliki tymczasowe ze środowiska projektowego, dane wyjściowe testów i dzienniki.

Możesz użyć kilku mechanizmów, aby poinformować usługę Git, które pliki w projekcie nie powinny być śledzone i aby upewnić się, że usługa Git nie zgłasza zmian w tych plikach. W przypadku plików, których Git nie śledzi, można użyć pliku .gitignore lub pliku exclude. W przypadku plików, które już śledzi usługa Git, możesz poinstruować usługę Git, aby przestała je śledzić i ignorować wszelkie zmiany.

Wymagania wstępne

Kategoria Wymagania
Dostęp do projektu Członek projektu .
uprawnienia — Wyświetlanie kodu w projektach prywatnych: co najmniej dostęp na poziomie Podstawowym.
— Klonowanie lub współtworzenie kodu w prywatnych projektach: członkostwo w grupie zabezpieczeń Współautorzy lub odpowiednie uprawnienia w projekcie.
— Ustaw uprawnienia gałęzi lub repozytorium: Zarządzanie uprawnieniami dla gałęzi lub repozytorium.
- Zmień gałąź domyślną: Edytuj zasady uprawnienia dla repozytorium.
— Zaimportuj repozytorium: członek grupy zabezpieczeń Administratorzy projektów lub uprawnienia na poziomie projektu Git Utwórz repozytorium ustawione na Dozwolone. Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień repozytorium Git.
Usługi Repozytoria włączone.
Narzędzia Opcjonalny. Użyj poleceń az repos: Azure DevOps CLI.

Uwaga

W projektach publicznych użytkownicy z dostępem Stakeholder mają pełny dostęp do usługi Azure Repos, w tym wyświetlanie, klonowanie i współtworzenie kodu.

Kategoria Wymagania
Dostęp do projektu Członek projektu .
uprawnienia — Wyświetl kod: przynajmniej podstawowy dostęp.
— Klonowanie lub współtworzenie kodu: członek grupy zabezpieczeń Współtwórców lub posiadający odpowiednie uprawnienia w projekcie.
Usługi Repozytoria włączone.

Użyj pliku .gitignore

Możesz ustawić Git, aby nie śledzić niektórych plików w projekcie, dodając i konfigurując plik .gitignore. Zapoznaj się z następującymi kluczowymi punktami:

  • Pliki nieśledzone: wpisy w .gitignore pliku mają zastosowanie tylko do nieśledzonych plików. Nie uniemożliwiają one usłudze Git raportowania zmian śledzonych plików. Śledzone pliki to pliki, które zostały zatwierdzone i istnieją w ostatniej migawce Git.
  • Wzorce wyszukiwania plików: każdy wiersz w .gitignore pliku określa wzorzec wyszukiwania plików względem ścieżki .gitignore pliku. Składnia .gitignore jest elastyczna i obsługuje używanie symboli wieloznacznych do określania pojedynczych lub wielu plików według nazwy, rozszerzenia i ścieżki. Usługa Git dopasuje .gitignore wzorce wyszukiwania do plików w projekcie, aby określić, które pliki mają być ignorowane.
  • Lokalizacja: zazwyczaj dodajesz .gitignore plik do folderu głównego projektu. Można jednak dodać plik .gitignore do dowolnego folderu projektu, aby poinformować Git, które pliki mają być ignorowane w tym folderze i jego podfolderach na dowolnej głębokości zagnieżdżenia. W przypadku wielu .gitignore plików wzorce .gitignore wyszukiwania plików określone w folderze mają pierwszeństwo przed wzorcami określonymi .gitignore przez plik w folderze nadrzędnym.
  • Tworzenie: możesz ręcznie utworzyć .gitignore plik i dodać do niego wpisy wzorca pliku. Możesz też zaoszczędzić czas, .gitignore pobierając szablon dla środowiska deweloperskiego z repozytorium GitHub gitignore.
  • Korzyści: Jedną z zalet korzystania z .gitignore pliku jest to, że można zatwierdzać zmiany i udostępniać je innym osobom.

Uwaga

Program Visual Studio automatycznie tworzy .gitignore plik dla środowiska deweloperskiego programu Visual Studio podczas tworzenia repozytorium Git.

Program Visual Studio 2022 zapewnia środowisko kontroli wersji usługi Git za pomocą menu Git, zmian git i menu skrótów w Eksploratorze rozwiązań. Program Visual Studio 2019 w wersji 16.8 oferuje również interfejs użytkownika narzędzia Team Explorer Git. Aby uzyskać więcej informacji, zobacz kartę Visual Studio 2019 — Team Explorer .

W oknie Zmiany usługi Git kliknij prawym przyciskiem myszy dowolny zmieniony plik, który ma zostać zignorowany przez usługę Git, a następnie wybierz polecenie Ignoruj ten element lokalny lub Ignoruj to rozszerzenie. Te opcje menu nie istnieją dla śledzonych plików.

Zrzut ekranu przedstawiający opcje menu kontekstowego dla zmienionych plików w oknie Zmiany usługi Git w programie Visual Studio.

  • Opcja Ignoruj ten element lokalny dodaje nowy wpis do .gitignore pliku i usuwa wybrany plik z listy zmienionych plików.
  • Opcja Ignoruj to rozszerzenie dodaje nowy wpis do .gitignore pliku i usuwa wszystkie pliki z tym samym rozszerzeniem co wybrany plik z listy zmienionych plików.

Każda z opcji tworzy plik, .gitignore jeśli jeszcze nie istnieje w folderze głównym repozytorium i dodaje do niego wpis.

Edytowanie pliku gitignore

Każdy wpis w .gitignore pliku to: wzorzec wyszukiwania plików określający, które pliki mają być ignorowane, komentarz rozpoczynający się od znaku numeru () lub pusty wiersz (#w celu zapewnienia czytelności). Składnia jest elastyczna .gitignore i obsługuje używanie symboli wieloznacznych do określania pojedynczych lub wielu plików według nazwy, rozszerzenia i ścieżki. Wszystkie ścieżki wzorców wyszukiwania plików są względem pliku .gitignore.

Oto kilka przykładów typowych wzorców wyszukiwania plików:

# Ignore all files with the specified name.
# Scope is all repo folders.
config.json

# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json

# Add an exception to prevent ignoring a file with the specified name.
# Scope is all repo folders.
!package.json

# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile

# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile

# Ignore all files in the 'logs' subfolder.
/logs/

Gdy tylko zmodyfikujesz .gitignore plik, usługa Git aktualizuje listę plików, które ignoruje.

Uwaga

Użytkownicy systemu Windows muszą używać ukośnika (/) jako separatora ścieżki w .gitignore pliku, zamiast używać ukośnika odwrotnego (\). Wszyscy użytkownicy muszą dodać ukośnik końcowy podczas określania folderu.

Użyj globalnego pliku .gitignore

Można wyznaczyć plik .gitignore jako globalny plik do ignorowania, który będzie stosowany we wszystkich lokalnych repozytoriach Git. Aby to zrobić, użyj polecenia git config w następujący sposób:

git config core.excludesfile <gitignore file path>

Plik globalny .gitignore pomaga upewnić się, że usługa Git nie zatwierdza niektórych typów plików, takich jak skompilowane pliki binarne, w żadnym lokalnym repozytorium. Wzorce wyszukiwania plików w pliku specyficznym dla .gitignore repozytorium mają pierwszeństwo przed wzorcami w pliku globalnym .gitignore .

Użyj pliku z wykluczeniami

Można również dodawać wpisy wzorców wyszukiwania plików do exclude pliku w .git/info/ folderze lokalnego repozytorium. Plik exclude informuje usługę Git, które nieśledzone pliki mają być ignorowane. Używa tej samej składni dla wzorców wyszukiwania plików, co plik .gitignore.

Wpisy w exclude pliku mają zastosowanie tylko do nieśledzonych plików. Nie uniemożliwiają usłudze Git raportowania zmian w zatwierdzonych plikach, które już śledzą. Na repozytorium istnieje tylko jeden exclude plik.

Ponieważ usługa Git nie zatwierdza ani nie wypycha exclude pliku, możesz bezpiecznie użyć go do ignorowania plików w systemie lokalnym bez wpływu na nikogo innego.

Ignoruj zmiany za pomocą usługi git update-index

Czasami wygodne jest tymczasowe zatrzymanie śledzenia lokalnego pliku repozytorium i zignorowanie zmian w pliku przez usługę Git. Możesz na przykład dostosować plik ustawień dla środowiska deweloperskiego bez ryzyka popełnienia zmian. W tym celu możesz uruchomić polecenie git update-index z flagą skip-worktree.

git update-index --skip-worktree <file path>

Aby wznowić śledzenie, uruchom git update-index polecenie z flagą --no-skip-worktree .

Możesz również tymczasowo wyłączyć śledzenie pliku i sprawić, by Git ignorował zmiany w tym pliku, używając polecenia git update-index z flagą assume-unchanged. Ta opcja jest mniej skuteczna niż flaga skip-worktree , ponieważ operacja git pull , która zmienia zawartość pliku, może przywrócić flagę assume-unchanged .

git update-index --assume-unchanged <file path>

Aby wznowić śledzenie, uruchom polecenie git update-index z parametrem --no-assume-unchanged.

Używanie narzędzia git rm do ignorowania zmian

Wpisy w .gitignore lub exclude nie mają wpływu na pliki, które już śledzi Git. Usługa Git śledzi pliki, które zostały wcześniej zatwierdzone. Aby trwale usunąć plik z migawki usługi Git, aby usługa Git nie śledziła go, ale bez usuwania go z systemu plików, uruchom następujące polecenia:

git rm --cached <file path>
git commit <some message>

Następnie użyj wpisu pliku .gitignore lub exclude, aby uniemożliwić Gitowi raportowanie zmian w pliku.

Następne kroki