Подтвердить что ты не робот

.gitignore не игнорирует файлы

Мой .gitignore файл игнорируется, и файлы, которые следует игнорировать, все еще видны.

[email protected] ~/workdir % git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   .htaccess
#       modified:   application/controllers/statistics.php
#
no changes added to commit (use "git add" and/or "git commit -a")
[email protected] ~/workdir % cat .gitignore
.htaccess
application/config/config.php
application/config/database.php
[email protected] ~/workdir %

Файлы находятся в управлении версиями, но с разумными изменениями я не хочу нажимать. git rm... не является вариантом, потому что файлы должны находиться в файле управления версиями (с другими настройками в файлах). Я просто не хочу вносить мои изменения в эти файлы.

4b9b3361

Ответ 1

Игнорирование файлов в git не означает, что вы их не нажимаете. Это означает, что вы не будете контролировать их версию. Если вы не хотите толкать, я предлагаю вам создать локальную ветвь, которая будет содержать материал для локального компьютера, а затем слить необходимые изменения в ветку, которую вы нажмете на удаленный.

Я думаю, что вы уже add редактировали ваши файлы и теперь пытаетесь их игнорировать.

Ответ 2

У меня была такая же проблема: мне нужен другой файл .htaccess для каждого репозитория, тогда я не мог, потому что файл htaccess уже был добавлен в репозиторий. Теперь он работает, я могу изменить любой файл .htaccess из любой версии, не получив git нажав их. Марк прав, когда он говорит: "Сначала вам нужно удалить его, прежде чем его можно будет проигнорировать. Это можно сделать с помощью git rm".

i продолжался в следующем порядке:

  • зарезервируйте файл .htaccess где-нибудь
  • удалить файл .htaccess с помощью git rm.htaccess
  • зафиксировать это изменение (удаление .htaccess)
  • нажмите (git push)

это, очевидно, удалит ваш .htaccess файл

  • затем отредактируйте .gitignore и добавьте /.htaccess
  • commit, затем нажмите его
  • заново создайте файл .htaccess, восстановив предыдущую резервную копию.

тогда вы закончите: любые изменения, которые вы вносите в .htaccess, больше не будут толкаться. Жесткая часть - порядок шагов...

надеюсь, что это ясно.

Ответ 3

после отмеченных здесь шагов anybug my git все еще отслеживал .htaccess, и это помогло:

git update-index --assume-unchanged .htaccess

Чтобы вернуться назад:

git update-index --no-assume-unchanged .htaccess

Ответ 4

Поскольку вы хотите:

  • сохранить .htaccess в репозитории Git (no git rm)
  • имеют локальные конфиденциальные данные в нем

используйте фильтр, который будет:

  • во время этапа проверки заполните .htaccess с личными данными
  • во время фазы фиксации очистите .htaccess от всех конфиденциальных данных

content filter driver

вы можете затем зашифровать файл, чтобы ваше smudge script:

  • будет единственным, чтобы расшифровать
  • используйте, чтобы завершить классический (и нажал/вытащил) файл .htaccess.

Вы можете переименовать зашифрованные разумные данные в специальную ветку, которую вы не будете нажимать.
Даже если вы каким-то образом нажмете этот файл, ущерб будет ограничен, так как только ваша рабочая станция имеет закрытый ключ, необходимый для дешифрования указанного файла.

Ответ 5

Предположим, что ниже приведено содержимое файла .gitignore. Здесь .htaccess находится в корневом каталоге проекта.

/.htaccess
application/config/config.php
application/config/database.php

Запустите следующую команду, чтобы игнорировать файлы .htaccess, config.php и database.php.

[email protected]:work-dir$ git update-index --assume-unchanged .htaccess
[email protected]:work-dir$ git update-index --assume-unchanged application/config/config.php
[email protected]:work-dir$ git update-index --assume-unchanged application/config/database.php

Если вы хотите снова начать отслеживать его:

[email protected]:work-dir$ git update-index --no-assume-unchanged path/to/file

например.

[email protected]:work-dir$ git update-index --no-assume-unchanged .htaccess

Ответ 6

Кажется, что файл .htaccess уже добавлен в элемент управления версиями. Сначала вам нужно удалить его, прежде чем его можно будет игнорировать. Это можно сделать, используя git rm

Ответ 7

Я делаю это все время. Я начинаю с файлов конфигурации в своем репо, а потом решаю, что я их не хочу там.

Вы можете удалить что-то из своего репо с помощью

git rm --cached <<filename>>

Ответ 8

Этот прослушивал меня несколько дней. Файл .htaccess уже находится под управлением версии и был изменен.