git dodaj wszystkie oprócz ignorowania plików w.plik gitignore

Dodaję kontrolę źródła do projektu, który nie miał żadnego. Problem polega na tym, że istnieje wiele plików, które można początkowo dodać do git za pomocą .gitignore Plik, ale nie mogę wymyślić, jak dodać wszystkie pliki bez uwzględnienia plików pasujących do czegoś w .plik gitignore .

git add *

Powyższe polecenie nie doda żadnych plików, ponieważ wykrywa pliki, które są ignorowane przez .gitignore .

git add -f *

Powyższe polecenie doda wszystkie pliki łącznie z plikami, które chcę zignorować.

Więc, jak dodać wszystkie pliki, jednocześnie trzymając się .plik gitignore ?

Author: tomasz, 2011-07-07

4 answers

Myślę, że masz na myśli git add . które doda do repo wszystkie pliki, które nie są określone w .gitignore - możesz zobaczyć te zmiany wpisując git status

. w bash zwykle oznacza ten katalog i wszystkie inne katalogi rekurencyjnie, więc jeśli robisz to z dolnego poziomu repo, powinieneś dodać wszystkie pliki.

Mój zwykły Git flow polega na utworzeniu pliku .gitignore i dodaniu plików projektu do repo. Przetestuję plik .gitignore wpisując git status Po zaimportowaniu pliki-jeśli widzę pliki, które dodałem (na przykład tylko .php lub .html, nie. mp3 czy .mov), następnie możesz git add . dodać wszystkie, i git commit -m "initial commit" zatwierdzić je i powinieneś być ustawiony.

 259
Author: Nic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-07 15:04:17
git add .

Spowoduje dodanie wszystkich ścieżek i zignorowanie dopasowań z .gitignore

 27
Author: Leom Burke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-07 14:58:57

Try git add . (co oznacza "dodaj wszystkie pliki w bieżącym katalogu i poniżej")

 13
Author: wadesworld,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-18 12:05:54

Inną opcją jest użycie pliku exclude repo Git. Ten plik działa podobnie do pliku .gitignore, ale nie jest przypisany do repo.

Z dokumentów Github:

Możesz użyć tej techniki do lokalnie generowanych plików, których nie oczekujesz od innych użytkowników, takich jak pliki utworzone przez twój edytor.

Użyj swojego ulubionego edytora tekstu, aby otworzyć plik o nazwie .git/info/exclude w głównym repozytorium Git. Każda reguła, którą tu dodasz, nie będzie sprawdzana w, i będzie ignorować tylko pliki dla lokalnego repozytorium.

  1. W terminalu, przejdź do lokalizacji repozytorium Git
  2. używając swojego ulubionego edytora tekstu, otwórz plik .git/info/exclude
  3. Dodaj reguły do pliku exclude tak jak w pliku .gitignore
 5
Author: Brett DeWoody,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-12 09:19:51