Ignorowanie katalogów w repozytoriach Git w systemie Windows
Jak mogę ignorować katalogi lub foldery w Git używając msysgit w Windows?
19 answers
Utwórz plik o nazwie .gitignore
w katalogu twojego projektu. Ignoruj katalogi, wpisując nazwę katalogu do pliku (z dołączonym ukośnikiem):
dir_to_ignore/
Więcej informacji jest tutaj .
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
2019-11-14 13:48:32
Domyślnie Eksplorator Windows wyświetli .gitignore
, gdy w rzeczywistości nazwa pliku to .gitignore.txt
.
Git nie użyje .gitignore.txt
I nie możesz zmienić nazwy pliku na .gitignore
, ponieważ Eksplorator Windows uważa, że jest to plik typu gitignore bez nazwy.
Rozwiązanie Non command line:
You can rename a file to ".gitignore.", and it will create ".gitignore"
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
2019-12-17 11:13:59
Wygląda na to, że do ignorowania plików i katalogów są dwa główne sposoby:
-
.gitignore
- umieszczenie pliku
.gitignore
w katalogu głównym repozytorium oprócz folderu.git
(w systemie Windows upewnij się, że widzisz prawdziwe rozszerzenie pliku, a następnie utwórz.gitignore.
(z punktem na końcu, aby utworzyć puste rozszerzenie pliku)) - Tworzenie globalnej konfiguracji
~/.gitignore_global
i uruchamianiegit config --global core.excludesfile ~/.gitignore_global
Aby dodać to do Twojego Gita konfiguracja
Uwaga: wcześniej śledzone pliki mogą zostać usunięte przez uruchomienie
git rm --cached filename
- umieszczenie pliku
Repozytorium exclude - dla plików lokalnych, które nie muszą być udostępniane, wystarczy dodać wzorzec pliku lub katalog do pliku
.git/info/exclude
. Zasady te nie są popełniane, więc nie są widziane przez innych użytkowników . Więcej informacji jest tutaj .
Aby wprowadzić wyjątki na liście ignorowanych plików, zobacz to pytanie .
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
2019-11-14 14:01:20
Miałem pewne problemy z tworzeniem pliku w Windows Explorer z .
na początku.
Obejściem było przejście do powłoki poleceń i utworzenie nowego pliku za pomocą opcji "Edytuj".
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
2019-11-14 13:50:23
Aby polecić Gitowi ignorowanie pewnych plików lub folderów, musisz utworzyć .gitignore
plik.
Ale w Eksploratorze Windows musisz podać nazwę pliku. Po prostu nie można utworzyć pliku z tylko rozszerzeniem. Sztuczka polega na tym, aby utworzyć pusty plik tekstowy i przejść do wiersza polecenia i zmienić nazwę pliku na .gitignore
:
ren "New Text Document.txt" .gitignore
Teraz otwórz plik za pomocą ulubionego edytora tekstu i dodaj nazwy plików / folderów, które chcesz zignorować. Możesz również użyć symboli wieloznacznych, takich jak: *.txt
.
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
2019-11-14 13:51:38
Jeśli chcesz zachować folder, a nie pliki w nim, po prostu umieść".gitignore "plik w folderze z" * " jako zawartością. Ten plik sprawi, że Git zignoruje całą zawartość z repozytorium. Ale .gitignore
zostaną włączone do twojego repozytorium.
$ git add path/to/folder/.gitignore
Jeśli dodasz pusty folder, otrzymasz ten Komunikat (.gitignore jest ukrytym plikiem)
The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added
Więc użyj "- f", aby wymusić dodanie:
$ git add path/to/folder/.gitignore -f
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
2019-11-14 14:15:13
Aby zignorować cały katalog w Git, najprostszym sposobem jest dołączenie a .plik gitignore w katalogu docelowym, który zawiera po prostu"*".
Przykład ilustracyjny,
Przykładowy System
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
Gol
- ignoruj zawartość / dirB /
Top Level (/root/.gitignore)
- to miejsce, gdzie trafiają twoje standardowe informacje gitignore (np. " ~ Untitled.docx", kilka prywatnych dirów itp.). "dirB/" z pewnością może być umieszczone tutaj, w razie potrzeby
Ignorowany Katalog (/root / dirB/.gitignore)
-
Git obserwuje gitignore na każdym kroku systemu plików, więc za każdym razem, gdy masz ignorowane specyfikacje do zastosowania, wrzuć je, generując nowy gitignore dla tego katalogu
-
DirB/.gitignore wtedy po prostu czyta jako " * " i cała zawartość jest ignorowana całkowicie, sama i wszystkie pliki!
I to takie proste:)
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
2020-06-25 12:56:03
W Windows jest dodatkowy haczyk z ukośnikami. Wyłączając pojedynczy katalog w .gitignore z
Dir_to_exclude /
Prawdopodobnie zadziała, ale wyłączając wszystkie katalogi z
/
Powoduje problemy, gdy w katalogu znajdują się nazwy plików ze spacjami (np. my file.txt
): Git Bash usuwa te spacje z odwrotnym ukośnikiem (np. my\ file.txt
), A Git dla Windows nie rozróżnia pomiędzy /
i \
.
Aby wykluczyć wszystkie katalogi, lepsze wykorzystanie:
**/
Dwie kolejne gwiazdki oznaczają zawartość katalogu.
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
2019-11-14 14:26:37
Również w katalogu \.git\info
projects znajduje się plik exclude, który jest dokładnie tym samym co .gitignore
(tak myślę). Możesz dodawać pliki i katalogi do ignorowania w tym.
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-04-08 17:24:37
Możesz utworzyć ".gitignore " plik o treści:
*
!.gitignore
U mnie działa.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
2019-11-14 23:00:14
Na wszelki wypadek możesz użyć symbolu **
, aby wykluczyć dowolny poziom katalogu podrzędnego.
**/build/output/Debug/
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
2018-02-17 00:40:58
Gdy Wszystko inne zawiedzie spróbuj edytować plik
/.git / info / exclude
I dodawanie katalogów, które chcesz na końcu pliku, w następujący sposób:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/
Dodałem foldery "assets" i "compiled" do listy plików i katalogów do zignorowania.
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
2018-04-04 21:38:12
Na Unixie:
touch .gitignore
W Systemie Windows:
echo > .gitignore
Te polecenia wykonywane w terminalu utworzą plik .gitignore
w bieżącej lokalizacji.
Następnie po prostu dodaj informacje do tego pliku .gitignore
(na przykład używając Notepad++), które pliki lub foldery powinny być ignorowane. Zapisz zmiany. To jest to:)
Więcej informacji: .gitignore
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
2019-11-14 14:30:36
Miałem problemy z pobraniem pliku .gitignore
w systemie Windows. Plik $GIT_DIR/info/exclude
wydaje się jednak zawsze działać.
Minusem tego podejścia jest jednak to, że pliki w katalogu $GIT_DIR
nie są uwzględniane w check-in, a zatem nie są udostępniane.
P. s.
$GIT_DIR
jest zwykle ukrytym folderem o nazwie.git
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
2019-11-14 13:57:39
Zakładam, że problem polega na tym, że Twoje działające drzewo wygląda tak:
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
... z .gitignore
, które opisujesz. To daje git status
wyjście takie jak:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# a-cache/
# b-cache/
... jeśli pliki index.html
nie zostały jeszcze dodane do repozytorium. (Git widzi, że w katalogach pamięci podręcznej znajdują się niezaznaczone pliki, ale zgłasza tylko te katalogi.) Aby to naprawić, upewnij się, że dodałeś i zatwierdziłeś pliki index.html
:
git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"
... a twój git status
wtedy spojrzy like:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
nothing added to commit but untracked files present (use "git add" to track)
(oczywiście też chcesz popełnić .gitignore
. Byłem leniwy z tą sprawą testową.)
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
2019-11-14 14:13:53
W systemach Windows i Mac, jeśli chcesz zignorować folder o nazwie Flower_Data_Folder w bieżącym katalogu, możesz to zrobić:
echo Flower_Data_Folder >> .gitignore
Jeśli jest to plik o nazwie data.txt
:
echo data.txt >> .gitignore
Jeśli jest to ścieżka typu " dane / hasła.txt "
echo "Data/passwords.txt" >> .gitignore.
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
2019-11-14 14:31:34
Miałem podobne problemy. Pracuję na Windows tool chain ze współdzielonym repozytorium z Linuksem i chętnie tworzą pliki o tych samych (poza przypadkami) nazwach w danym folderze.
Efekt jest taki, że mogę sklonować repozytorium i od razu mieć dziesiątki 'zmodyfikowanych' plików, które, gdybym się zameldował, spowodowałyby spustoszenie.
Mam Windows ustawiony na rozróżnianie wielkości liter i Git, aby nie ignorował wielkości liter, ale i tak nie działa(w wywołaniach API Win32 najwyraźniej).
If I gitignore the pliki następnie muszę pamiętać, aby nie śledzić .plik gitignore.
Ale znalazłem dobrą odpowiedź tutaj:
Http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html
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
2019-11-14 14:22:52
Po prostu utwórz plik .gitignore
w folderze projektu, a następnie dodaj nazwę folderu w nim dla ex:
frontend/node_modules
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
2020-02-11 23:58:42
To może być dla niektórych bardzo oczywiste, ale zrozumiałem to z innych odpowiedzi.
Tworzenie .plik gitignore w katalogu sam w sobie nic nie robi. Musisz otworzyć .gitignore jako plik tekstowy i zapisz pliki / katalogi, które chcesz zignorować, każdy w swojej własnej linii.
Więc cd do katalogu repozytorium Git
touch .gitignore
nano .gitignore
, a następnie zapisz nazwy plików i katalogów, które chcesz zignorować, oraz ich rozszerzenia, jeśli ma to zastosowanie.
Także, .gitignore jest ukrytym plikiem na niektórych systemach operacyjnych (na przykład Mac), więc potrzebujesz ls -a
, aby go zobaczyć, a nie tylko ls.
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
2020-12-19 17:57:53