Czy można dodać .gitignoreplik do .gitignoresiebie?
.gitignore
Ale to nie działa
Nie chcę widzieć tego w edytowanych plikach
Czy można dodać .gitignoreplik do .gitignoresiebie?
.gitignore
Ale to nie działa
Nie chcę widzieć tego w edytowanych plikach
.gitignorepowinny być częścią twojego repozytorium, aby wszyscy w twoim zespole ignorowali lub sprawdzali te same pliki. To, że .gitignorejest gdzieś w folderze z kodem, nie oznacza, że musisz go wdrożyć.
git rm --cached .gitignorei untracking .gitignore
Odpowiedzi:
Celem .gitignorepliku jest zapobieganie przypadkowemu zatwierdzeniu niektórych typowych plików w projekcie, takich jak wygenerowane pliki pamięci podręcznej, przez każdą osobę współpracującą przy projekcie. Dlatego nie powinieneś ignorować .gitignore, ponieważ ma być uwzględniony w repozytorium.
Jeśli chcesz zignorować pliki tylko w jednym repozytorium, ale chcesz uniknąć zatwierdzania listy ignorowanych (na przykład dla plików osobistych), możesz dodać je do .git/info/excludetego repozytorium.
Jeśli chcesz zignorować określone pliki w każdym repozytorium na twoim komputerze, możesz utworzyć plik, ~/.gitignore_globala następnie uruchomić
git config --global core.excludesfile ~/.gitignore_global
.Gitignore może się zignorować, jeśli nigdy nie został zarejestrowany:
mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# bar
# bat
# baz
# foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar
# bat
# baz
nothing added to commit but untracked files present (use "git add" to track)
Jeśli zarejestrujesz .gitignore (zanim powiesz mu, aby się ignorował), to zawsze pojawi się on w statusie git, nawet jeśli później zmodyfikujesz go tak, aby sam się ignorował.
.gitignoredo pracy, z git-svnktórym nikt nie powinien widzieć. Więc po prostu dodałem to do siebie i po prostu zadziałało. Ale potem poszukałem w Google, żeby zobaczyć, czy jakieś spięte osoby wytłumaczą innym, jak to jest „złe”. Ta odpowiedź powinna zostać przyjęta, a następnie głosowałbym .git/info/excluderównież za sugestiami. Więc to musi być po prostu niezauważone ... Nie jest to zbyt zaskakujące, przynajmniej jeśli kiedykolwiek zostałeś "obalony" (svn).
.gitignoreNajpierw mam plik z kopią zapasową. Następnie używam git rm .gitignorei dokonuję tej zmiany. Na koniec dodaj i .gitignoreponownie zatwierdź plik z regułą dla .gitignore. To działa!
git rm --cached .gitignore.
Naprawdę nie ma dobrego powodu, aby to robić. Jeśli chcesz, aby pliki były ignorowane tylko dla twojego klona , dodaj je do .git/info/exclude, a nie do .gitignorepliku.
Po wprowadzeniu .gitignorepliku gitignore spróbuj wykonać następujące czynności:
git rm -r --cached .
git add --all
git commit -m "ignoring gitignore"
git push --set-upstream origin master
Powinno działać, chociaż jak już wspomniano, ignorowanie gitignore może przynieść efekt przeciwny do zamierzonego, jeśli repozytorium jest udostępniane przez wielu użytkowników.
Tak, możesz; nadal widzisz go w edytowanych plikach, ponieważ nadal jest śledzony przez git, a pliki śledzone przez git są zawsze oznaczane jako zmodyfikowane, nawet jeśli znajdują się w .gitignore. Więc po prostu go wyśledzić .
Ale dlaczego nie zatwierdzić lub zresetować zmian, które na nim masz? To znacznie lepszy sposób na usunięcie go ze statusu ... Należy również pamiętać, że każdy nowy klon repozytorium będzie musiał dodać jego .gitignore, co może być denerwujące.
got rm --cached .gitignoreprawdopodobnie będziesz musiał usunąć go oddzielnie z git przez .
.gitignorema być częścią twojego repozytorium, wymieniając wzorce plików, które są śmieciami dla projektu.