Czy istnieje polecenie ignorowania dla git, tak jak w przypadku svn?
125
Jestem nowym użytkownikiem giti rozpoczynam nowy projekt. Mam kilka plików z kropkami, które chciałbym zignorować. Czy istnieje polecenie zignorowania dla gittego, co jest dla svn?
Edytuj .gitignoreplik znajdujący się w odpowiednim miejscu w kopii roboczej. Następnie powinieneś to dodać .gitignorei zatwierdzić. Każdy, kto sklonuje to repozytorium, zignoruje te pliki.
Zauważ, że tylko nazwy plików zaczynające się od /będą zależne od katalogu, w którym się .gitignoreznajduje. Wszystko inne będzie pasowało do plików w dowolnym podkatalogu.
Możesz także edytować, .git/info/excludeaby zignorować określone pliki tylko w tej jednej kopii roboczej. .git/info/excludePlik nie zostanie zatwierdzona, a tym samym będą miały zastosowanie jedynie lokalnie w tej jednej kopii roboczej.
Możesz także skonfigurować plik globalny z wzorcami do ignorowania git config --global core.excludesfile. Będzie to miało zastosowanie lokalnie do wszystkich kopii roboczych git na tym samym koncie użytkownika.
Uruchom git help gitignorei przeczytaj tekst, aby poznać szczegóły.
Brak prostego polecenia ignorowania wydaje się takim niedopatrzeniem ze strony zespołu git.
jcollum
4
@jcollum Na pierwszy rzut oka tak, ale prostota aliasowania polecenia, aby dodać nowe ORAZ złożoność tworzenia jednego i pracy przez wszystkie skrajne przypadki / pułapki / potencjalne problemy związane z edycją pliku tekstowego również ma sens, aby pozostawić to użytkownik. Czuję się skonfliktowany, ponieważ zgadzam się z tobą i nie zgadzam się z tobą.
Więc jeśli użyję git ignore „index.html”, zignoruje ten plik?
JohnAndrews
Czy polecenie -t nadal ma zastosowanie? Kiedy go uruchamiam, po prostu dodaje -t i dowolny szablon, który próbuję dodać do pliku ignorowania git
Bynho
50
W systemie Linux / Unix możesz dołączać pliki do pliku .gitignore za pomocą echopolecenia. Na przykład, jeśli chcesz zignorować wszystkie.svn foldery, uruchom to z katalogu głównego projektu:
W Git Bash w systemie Windows musiałem dodać poprzedzający /i końcowy „\” (aby utworzyć nowy wiersz), na przykład echo /nbproject/project.properties\ >> .gitignorei echo /nbproject/project.xml\ >> .gitignore.
Ryan
15
Masz dwa sposoby ignorowania plików:
.gitignorew dowolnym folderze zignoruje pliki określone w pliku dla tego folderu. Używanie symboli wieloznacznych jest możliwe.
.git/info/excludeprzechowuje globalny wzorzec ignorowania, podobny do global-ignorespliku konfiguracyjnego in subversions.
Zauważ, że wzorce w .gitignorepliku, które nie zawierają „/”, są dopasowywane rekurencyjnie (tj. Również we wszystkich podkatalogach katalogu, w którym .gitignoreznajduje się plik), w przeciwieństwie do svn:ignorewłaściwości katalogu w Subversion.
Jakub Narębski
6
Mam nadzieję, że nie jest za późno.
Jeśli korzystasz z systemu Windows, możesz po prostu wykonać następujące czynności, aby utworzyć plik .gitignore
Nie używaj tego, jeśli masz już plik .gitignore, nadpisze go! Aby dołączyć plik do zignorowania, użyj tego: echo ignore.ext >>
.gitignore
Masz rację, zaleca się używanie tylko wtedy, gdy plik .gitignore nie istnieje. Lepiej użyć "notatnika .gitignore", jeśli masz plik .gitignore, otworzy go, a jeśli tego nie zrobisz, utworzy go i będziesz mógł dodać wszystkie pliki z notatnika. 1 plik / folder na wiersz
Nesar,
3
Utwórz plik o nazwie .gitignore w katalogu głównym repozytorium. W tym pliku umieszczasz w jednej linii względną ścieżkę do każdego pliku, który chcesz zignorować. Możesz użyć *symbolu wieloznacznego.
w przypadku nazw nieobecnych w kopii roboczej lub repozytorium:
echo /globpattern >> .gitignore
lub dla istniejącego pliku (wiersz poleceń typu sh):
echo /$(ls -1 file) >> .gitignore # I use tab completion to select the file to be ignored
git rm -r --cached file # if already checked in, deletes it on next commit
Przydatne jest zdefiniowanie pełnego pliku .gitignore dla twojego projektu. Nagrodą jest bezpieczne użycie wygodnej flagi --alllub -ado poleceń takich jak addi commit.
Rozważ także zdefiniowanie globalnego pliku ~ / .gitignore dla powszechnie ignorowanych wzorców, takich jak *~
, który obejmuje pliki tymczasowe utworzone przez Emacsa.
A potem możesz po prostu wpisać gi po wszystkich elementach platformy / środowiska, dla których potrzebujesz kryteriów gitignore.
Przykład!
Powiedzmy, że pracujesz nad projektem węzła, który zawiera grunt i używasz burzy internetowej w systemie Linux, a następnie możesz wpisać: gi linux,webstorm,node,grunt > .gitignore(aby utworzyć zupełnie nowy plik)
lub gi linux,webstorm,node,grunt >> .gitignore (aby dołączyć / dodać nowe reguły do istniejącego pliku )
Odpowiedzi:
Nie ma specjalnego
git ignore
polecenia.Edytuj
.gitignore
plik znajdujący się w odpowiednim miejscu w kopii roboczej. Następnie powinieneś to dodać.gitignore
i zatwierdzić. Każdy, kto sklonuje to repozytorium, zignoruje te pliki.Zauważ, że tylko nazwy plików zaczynające się od
/
będą zależne od katalogu, w którym się.gitignore
znajduje. Wszystko inne będzie pasowało do plików w dowolnym podkatalogu.Możesz także edytować,
.git/info/exclude
aby zignorować określone pliki tylko w tej jednej kopii roboczej..git/info/exclude
Plik nie zostanie zatwierdzona, a tym samym będą miały zastosowanie jedynie lokalnie w tej jednej kopii roboczej.Możesz także skonfigurować plik globalny z wzorcami do ignorowania
git config --global core.excludesfile
. Będzie to miało zastosowanie lokalnie do wszystkich kopii roboczych git na tym samym koncie użytkownika.Uruchom
git help gitignore
i przeczytaj tekst, aby poznać szczegóły.źródło
Bardzo przydatne polecenie git ignore zawiera niesamowite tj / git-extras .
Oto kilka przykładów użycia:
Wypisz wszystkie aktualnie ignorowane wzorce
Dodaj wzór
Dodaj jeden z szablonów z gitignore.io
git-extras dostarcza o wiele bardziej użytecznych poleceń. Zdecydowanie warto spróbować.
źródło
W systemie Linux / Unix możesz dołączać pliki do pliku .gitignore za pomocą
echo
polecenia. Na przykład, jeśli chcesz zignorować wszystkie.svn
foldery, uruchom to z katalogu głównego projektu:źródło
/
i końcowy „\” (aby utworzyć nowy wiersz), na przykładecho /nbproject/project.properties\ >> .gitignore
iecho /nbproject/project.xml\ >> .gitignore
.Masz dwa sposoby ignorowania plików:
.gitignore
w dowolnym folderze zignoruje pliki określone w pliku dla tego folderu. Używanie symboli wieloznacznych jest możliwe..git/info/exclude
przechowuje globalny wzorzec ignorowania, podobny doglobal-ignores
pliku konfiguracyjnego in subversions.źródło
.gitignore
pliku, które nie zawierają „/”, są dopasowywane rekurencyjnie (tj. Również we wszystkich podkatalogach katalogu, w którym.gitignore
znajduje się plik), w przeciwieństwie dosvn:ignore
właściwości katalogu w Subversion.Mam nadzieję, że nie jest za późno.
Jeśli korzystasz z systemu Windows, możesz po prostu wykonać następujące czynności, aby utworzyć plik .gitignore
Aby edytować .gitignore , możesz uruchomić
źródło
Utwórz plik o nazwie .gitignore w katalogu głównym repozytorium. W tym pliku umieszczasz w jednej linii względną ścieżkę do każdego pliku, który chcesz zignorować. Możesz użyć
*
symbolu wieloznacznego.źródło
Korzystając z już udzielonych odpowiedzi, możesz wyrzucić własne
git ignore
polecenie za pomocą aliasu . Albo dodaj to do swojego pliku ~ / .gitconfig:Lub uruchom to polecenie z wybranej powłoki (* nix):
Można również utworzyć
git exclude
polecenie, zastępującignore
zexclude
oraz.gitignore
z.git/info/exclude
wyżej.(Jeśli nie rozumiesz jeszcze różnicy między tymi dwoma plikami po przeczytaniu odpowiedzi tutaj, zobacz to pytanie ).
źródło
w przypadku nazw nieobecnych w kopii roboczej lub repozytorium:
lub dla istniejącego pliku (wiersz poleceń typu sh):
źródło
Przydatne jest zdefiniowanie pełnego pliku .gitignore dla twojego projektu. Nagrodą jest bezpieczne użycie wygodnej flagi
--all
lub-a
do poleceń takich jakadd
icommit
.Rozważ także zdefiniowanie globalnego pliku ~ / .gitignore dla powszechnie ignorowanych wzorców, takich jak
*~
, który obejmuje pliki tymczasowe utworzone przez Emacsa.źródło
W tym celu musisz zainstalować dodatki git. Możesz zainstalować go w Ubuntu za pomocą apt-get,
Następnie możesz użyć polecenia git ignore.
źródło
brew install git-extras
.Możesz także użyć gitignore.io Joe Blau
Albo przez interfejs sieciowy https://www.gitignore.io/
Lub instalując narzędzie CLI, jest to bardzo łatwe i szybkie, po prostu wpisz następujące polecenie w terminalu:
Linux:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc
OSX:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile
A potem możesz po prostu wpisać
gi
po wszystkich elementach platformy / środowiska, dla których potrzebujesz kryteriów gitignore.Przykład!
Powiedzmy, że pracujesz nad projektem węzła, który zawiera grunt i używasz burzy internetowej w systemie Linux, a następnie możesz wpisać:
gi linux,webstorm,node,grunt > .gitignore
(aby utworzyć zupełnie nowy plik)lub
gi linux,webstorm,node,grunt >> .gitignore
(aby dołączyć / dodać nowe reguły do istniejącego pliku )bam, jesteś gotowy
źródło