Мерзавец - удаляет и исключает конфигурационный файл

Считайте эту строку и сделайте то, что она говорит дважды .

8
задан Tunaki 28 August 2015 в 13:20
поделиться

4 ответа

Вы можете

git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"

Другой крайний подход (опасный, особенно если вы уже отправили свое репо на удаленное хранилище) - это полное удаление этого файла. из истории указанного репо:

git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD

(для осторожного использования и в первую очередь с резервной копией)

В вопросе Как удалить конфиденциальные файлы из истории git есть дополнительная информация по этой деликатной теме.

У этого процесса две проблемы:

  1. Если ваше репо уже было клонировано, вы никогда не можете гарантировать, что конфиденциальная информация действительно «исчезнет» из всех других репо.
  2. Когда другие попытаются извлечь ваше последнее репо. Если после этого изменения изменится, они получат сообщение о том, что изменения не могут быть применены, потому что это не перемотка вперед.
    и сначала с резервной копией)

    Вопрос Как мне удалить важные файлы из истории git содержит больше информации по этой деликатной теме.

    У этого процесса две проблемы:

    1. Если ваше репо уже было клонировано, вы никогда не можете гарантировать, что конфиденциальная информация действительно «исчезнет» из всех других репо.
    2. Когда другие попытаются извлечь ваше последнее репо. после этого они получат сообщение о том, что изменения нельзя применить, потому что это не перемотка вперед.
      и сначала с резервной копией)

      Вопрос Как мне удалить важные файлы из истории git содержит больше информации по этой деликатной теме.

      У этого процесса две проблемы:

      1. Если ваше репо уже было клонировано, вы никогда не можете гарантировать, что конфиденциальная информация действительно «исчезнет» из всех других репо.
      2. Когда другие попытаются извлечь ваше последнее репо. Если после этого изменения изменится, они получат сообщение о том, что изменения не могут быть применены, потому что это не перемотка вперед.
        Чтобы исправить это, им придется либо удалить существующий репозиторий и повторно клонировать его, либо следовать инструкциям в разделе « ВОССТАНОВЛЕНИЕ ИЗ UPSTREAM REBASE » на странице руководства git-rebase .
        В обоих случаях ваша конфиденциальная информация не будет "незаметно" заменена или удалена ...
19
ответ дан 5 December 2019 в 08:24
поделиться

Добавьте имя файла в .gitignore файл.

Ссылка

0
ответ дан 5 December 2019 в 08:24
поделиться

Использовать игнорирование: http://github.com/guides/ignore-for-git

0
ответ дан 5 December 2019 в 08:24
поделиться
cp my-config config.tmp
git rm my-config
git commit -m 'removed config'
mv config.tmp my-config
echo my-config >> .gitignore
git add .gitignore
git commit -m 'ignore config'
1
ответ дан 5 December 2019 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: