Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 8411|Odpowiedź: 2

Git ignoruje commits .gitignore

[Skopiuj link]
Opublikowano 11.07.2019 14:08:03 | | |
Podczas korzystania z Gita lubimy, gdy pliki takie jak logi, pliki tymczasowe, skompilowane pliki pośrednie itp. nie są przesyłane do repozytorium kodu, więc musimy ustawić odpowiednie reguły ignorowania, aby ignorować commit tych plików.

Git ignoruje metodę zatwierdzeń plików

Są trzy sposoby na ignorowanie plików, których nie chcesz commitować w Gicie.

Zdefiniuj plik .gitignore w swoim projekcie Git

Jest to realizowane poprzez zdefiniowanie pliku .gitignore w folderze projektu, gdzie zdefiniowane są odpowiednie reguły ignorowaniaAktualny folderGit commit zachowanie pliku pod
.gitignore można przesyłać do publicznych repozytoriów, co oznacza, że wszyscy programiści w projekcie dzielą zdefiniowany zestaw reguł ignorowania.
W pliku .gitingore określ regułę ignorowania na każdej linii, zgodnie z odpowiednią składnią. Na przykład:


Określ pliki wykluczenia w ustawieniach projektu Git

To tylko tymczasowa specyfikacja zachowania projektu, która wymaga edycji pliku .git/info/exclude w aktualnym projekcie, a następnie zapisania pliku, do którego commit należy zignorować.
Należy zauważyć, że katalogiem korzeniowym zignorowanych plików określonych w ten sposób jest root projektu.


Plik .gitignore definiujący globalny Git

Oprócz możliwości definiowania plików .gitignore w projekcie, możesz także skonfigurować globalny plik git .gitignore do zarządzania zachowaniem wszystkich projektów Git. To podejście nie jest wspólne dla różnych deweloperów projektów i występuje na poziomie aplikacji Git na samym projekcie.

Wymaga to także stworzenia odpowiedniego pliku .gitignore, który można umieścić w dowolnym miejscu. Następnie skonfiguruj Git za pomocą następującego polecenia:




Git ignoruje zasady

Szczegółowe zasady ignorowania prosimy o zapoznanie się z oficjalną dokumentacją angielską pod adresem:Logowanie do linku jest widoczne.

Git ignoruje priorytet reguł

W pliku .gitingore określ regułę ignorowania dla każdej linii, a Git sprawdza wiele źródeł podczas ignorowania reguł, z następującym priorytetem (od najwyższego do najniższego):



  • Przeczytaj dostępne zasady ignorowania z linii poleceń
  • Reguły zdefiniowane przez aktualny katalog
  • Reguły zdefiniowane przez katalog nadrzędny są rekurencyjne
  • $GIT_DIR/info/exclude file
  • core.excludesfile


Git ignoruje składnię dopasowania reguł

W pliku .gitignore składnia reguły ignore dla każdej linii wygląda następująco:


  • Space, które nie pasują do dowolnych plików, mogą być używane jako separatory i można je przełamać za pomocą ukośników wstecznych
  • # Komentarz o identyfikacji pliku na początku można obejść za pomocą ukośnika wzwrotnego
  • ! Identyfikacja schematu na początku jest negatywna, a plik zostanie ponownie uwzględniony, jeśli katalog nadrzędny pliku zostanie wykluczony, użyj ! nie zostanie już uwzględniony. Ucieczka może być wykonana za pomocą ukośnięcia wstecznego
  • / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
  • / 开始的模式匹配项目跟目录
  • Jeśli wzór nie zawiera ukośnika, dopasowuje zawartość względem aktualnej ścieżki pliku .gitignore, a jeśli wzór nie znajduje się w pliku .gitignore, to względem korzenia projektu
  • ** Dopasowane katalogi wielopoziomowe mogą być używane na początku, środku i końcu
  • ? Uniwersalne dopasowanie poszczególnych znaków
  • [ ] Uniwersalna lista meczów poszczególnych postaci



Typowe przykłady dopasowania:

  • bin/: ignoruje folder bin pod aktualną ścieżką, wszystko pod tym folderem jest ignorowane, nie plik bin
  • /bin: 忽略根目录下的bin文件
  • /*.c: 忽略 cat.c,不忽略 build/cat.c
  • debug/*.obj: Ignoruj debug/io.obj, nie ignoruj debug/common/io.obj oraz narzędzi/debug/io.obj
  • **/foo: ignoruj /foo, a/foo, a/b/foo itd
  • a/**/b: Ignoruj A/B, A/X/B, A/X/Y/B itd
  • !/bin/run.sh: Nie ignoruj run.sh plików w katalogu binów
  • *.log: Ignoruj wszystkie .log pliki
  • config.php: 忽略当前路径的 config.php 文件



Reguła .gitignore nie wchodzi w życie

.gitignore może ignorować tylko pliki, które nie są pierwotnie śledzone, a modyfikowanie .gitignore jest nieskuteczne, jeśli niektóre pliki zostały już uwzględnione w wersjoningu.

Obejście polega na usunięciu lokalnej pamięci podręcznej (zmianie jej na stan nieśledzony) przed zatwierdzeniem:


(Koniec)





Poprzedni:JS--Plugin: Załącznik do rozwoju drzewa i implementacji jest dostępny do pobrania!!
Następny:Konfiguracja protokołu HTTP w PHP
Opublikowano 12.07.2019 09:32:26 |
.gitignore jest nieprawidłowy po zmianie
https://www.itsvse.com/thread-4367-1-1.html
(Źródło: Architect_Programmer)
 Ziemianin| Opublikowano 24.09.2024 12:46:32 |
Plik konfiguracyjny projektu Git .gitignore wchodzi w życie
https://www.itsvse.com/thread-10816-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com