Ответ 1
Попробуйте /public_html/stats/*
?
Но так как файлы в git status
сообщают, что они будут совершены, это означает, что вы уже добавили их вручную. В этом случае, конечно, слишком поздно игнорировать. Вы можете git rm --cache
их (IIRC).
У меня был чистый рабочий каталог и привез клоун из репозитория Git прошлой ночью. Но теперь мой локальный сервер создал и содержит папку статистики, которую я хочу игнорировать.
Я не могу заставить Git игнорировать эту папку, когда я запускаю статус Git.
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: app_public/views/pages/privacy.php
new file: app_public/views/pages/terms.php
new file: public_html/stats/ctry_usage_200908.png
new file: public_html/stats/daily_usage_200908.png
new file: public_html/stats/dns_cache.db
new file: public_html/stats/hourly_usage_200908.png
new file: public_html/stats/index.html
new file: public_html/stats/usage.png
new file: public_html/stats/usage_200908.html
new file: public_html/stats/webalizer.current
new file: public_html/stats/webalizer.hist
Changed but not updated:
modified: .gitignore
Я добавил в свой .gitignore несколько разных строк, но он все равно пытается их добавить:
public_html/stats
public_html/stats/**
public_html/stats/**/*
public_html/stats/*
Попробуйте /public_html/stats/*
?
Но так как файлы в git status
сообщают, что они будут совершены, это означает, что вы уже добавили их вручную. В этом случае, конечно, слишком поздно игнорировать. Вы можете git rm --cache
их (IIRC).
Для этого есть два случая
Случай 1: файл уже добавлен в git repo.
Случай 2: Файл недавно создан, и его статус все еще отображается как неотслеживаемый файл при использовании
git status
Если у вас есть случай 1:
ШАГ 1: Затем запустите
git rm --cached filename
чтобы удалить его из кэша git-репо
если это каталог, используйте
git rm -r --cached directory_name
ШАГ 2. Если Дело 1 завершено, создайте новый файл с именем .gitignore
в вашем git-репо
ШАГ 3. Используйте следующее, чтобы сказать git, что он должен игнорировать/предполагать, что файл не изменился
git update-index --assume-unchanged path/to/file.txt
ШАГ 4: Теперь, проверьте статус, используя git status, откройте .gitignore
в вашем редакторе nano, vim, geany и т.д... любой, добавьте путь к файлу/папке, чтобы игнорировать. Если это папка, то пользователь folder_name/*
должен игнорировать все файлы.
Если вы все еще не понимаете, прочитайте ссылку статьи git ignore file.
От "git help ignore" мы узнаем:
Если шаблон заканчивается косой чертой, удаляется с целью последующее описание, но это только найти совпадение с каталогом. В другими словами, foo/будет соответствовать каталог foo и пути под ним, но не будет соответствовать регулярному файлу или символическая ссылка foo (это согласовано с как работает pathspec вообще в git).
Поэтому вам нужно
public_html/статистика/
Это /public_html/stats/*
.
$ ~/myrepo> ls public_html/stats/
bar baz foo
$ ~/myrepo> cat .gitignore
public_html/stats/*
$ ~/myrepo> git status
# On branch master
#
# Initial commit
#
# 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)
$ ~/myrepo>
Я невероятно ленив. Я просто сделал поиск, надеясь найти ярлык для этой проблемы, но не получил ответа, поэтому я сбил его с ног.
~/bin/IGNORE_ALL
#!/bin/bash
# Usage: IGNORE_ALL <commit message>
git status --porcelain | grep '^??' | cut -f2 -d' ' >> .gitignore
git commit -m "$*" .gitignore
EG: IGNORE_ALL добавил stat игнорирует
Это просто добавит все файлы игнорирования в ваш .gitignore и совершит. обратите внимание, что впоследствии вы захотите добавить аннотации к файлу.