Jestem nowym użytkownikiem git
i rozpoczynam nowy projekt. Mam kilka plików z kropkami, które chciałbym zignorować. Czy istnieje polecenie zignorowania dla git
tego, co jest dla svn
?
Jestem nowym użytkownikiem git
i rozpoczynam nowy projekt. Mam kilka plików z kropkami, które chciałbym zignorować. Czy istnieje polecenie zignorowania dla git
tego, co jest dla svn
?
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.
Bardzo przydatne polecenie git ignore zawiera niesamowite tj / git-extras .
Oto kilka przykładów użycia:
git ignore
git ignore "*.log"
git ignore-io -a rails
git-extras dostarcza o wiele bardziej użytecznych poleceń. Zdecydowanie warto spróbować.
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:
echo .svn/ >> .gitignore
/
i końcowy „\” (aby utworzyć nowy wiersz), na przykład echo /nbproject/project.properties\ >> .gitignore
i echo /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 do global-ignores
pliku konfiguracyjnego in subversions..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 do svn: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
echo name_of_the_file_you_want_to_ignore.extension > .gitignore
Aby edytować .gitignore , możesz uruchomić
notepad .gitignore
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.
Korzystając z już udzielonych odpowiedzi, możesz wyrzucić własne git ignore
polecenie za pomocą aliasu . Albo dodaj to do swojego pliku ~ / .gitconfig:
ignore = !sh -c 'echo $1 >> .gitignore' -
Lub uruchom to polecenie z wybranej powłoki (* nix):
git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'
Można również utworzyć git exclude
polecenie, zastępując ignore
z exclude
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 ).
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 --all
lub -a
do poleceń takich jak add
i commit
.
Rozważ także zdefiniowanie globalnego pliku ~ / .gitignore dla powszechnie ignorowanych wzorców, takich jak *~
, który obejmuje pliki tymczasowe utworzone przez Emacsa.
W tym celu musisz zainstalować dodatki git. Możesz zainstalować go w Ubuntu za pomocą apt-get,
$ sudo apt-get install git-extras
Następnie możesz użyć polecenia git ignore.
$ git ignore file_name
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