Как остановить отслеживание и игнорировать изменения в файле в Git?

С PHP 5 или выше вы можете использовать функцию datetime :: format (см. документацию http://us.php.net/manual/en/datetime.format.php )

 echo strftime( '%e %B %Y' , 
    date_create_from_format('Y-d-m G:i:s', '2012-04-05 11:55:21')->format('U')
    );  // 4 May 2012

1585
задан Rishabh 19 November 2016 в 13:42
поделиться

4 ответа

Просто вызовите git rm --cached для каждого файла, из которого вы хотите удалить контроль версий должен быть в порядке. Пока ваши локальные шаблоны игнорирования верны, вы не увидите эти файлы, включенные в вывод git status.

Обратите внимание, что это решение удаляет файлы из репозитория, поэтому всем разработчикам потребуется поддерживать свои собственные локальные (не -revision Control) копии файла

Чтобы git не обнаруживал изменения в этих файлах, вы также должны использовать эту команду:

git update-index --assume-unchanged [path]

Что вы, вероятно, захотите сделать: (снизу @Ryan Taylor answer )

  1. Это означает, что git вам нужна собственная независимая версия файла или папки. Например, вы не хотите перезаписывать (или удалять) производственные / промежуточные файлы конфигурации.

git update-index --skip-worktree

Полный ответ находится здесь, в этом URL: http://source.kohlerville.com/2009/ 02 / untrack-files-in-git /

2016
ответ дан 22 November 2019 в 20:13
поделиться

Примените .gitignore к подарку/будущему

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

не Может использовать --exclude-from=.gitignore больше:/-Вот обновленный метод:

Общие рекомендации: запускаются с чистого repo - все фиксировавшее, ничто ожидающее в рабочем каталоге или индексе, и делают резервное копирование !

#commit up-to-date .gitignore (if not already existing)
#this command must be run on each branch
git add .gitignore
git commit -m "Create .gitignore"

#apply standard git ignore behavior only to current index, not working directory (--cached)
#if this command returns nothing, ensure /.git/info/exclude AND/OR .gitignore exist
#this command must be run on each branch
git ls-files -z --ignored --exclude-standard | xargs -0 git rm --cached

#optionally add anything to the index that was previously ignored but now shouldn't be:
git add *

#commit again
#optionally use the --amend flag to merge this commit with the previous one instead of creating 2 commits.

git commit -m "re-applied modified .gitignore"

#other devs who pull after this commit is pushed will see the  newly-.gitignored files DELETED

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

0
ответ дан goofology 4 October 2019 в 07:32
поделиться
  • 1
    Действительно. Но я держал пари, it' s действительно трудно, чтобы преподавать одному подавляющее питание Python' s динамические конструкции (объекты, типы, метаклассы, классы), если каждый не сталкивается с ними. – Zaur Nasibov 11 May 2011 в 21:22

один ответ строки git update-index --assume-unchanged [path]

Использование это каждый раз, когда у Вас есть файл, который находится в центральном repo и также локальном repo.you, должно внести изменения в том файле, но не должно подготовиться/согласиться центральный repo. Этот файл не должен быть добавлен в .gitignore. потому что новые изменения в файле, если представлено системными администраторами, старшие разработчики должны быть распределены среди всего локального repos.

Лучший Пример: файл конфигурации для соединений с БД . В центральном repo у Вас будут все имя пользователя, пароль, хост, порт со значениями производственного сервера БД. Но в локальном dev, необходимо использовать только локальное или любой другой сервер БД разработки (что у команды есть установка). В этом случае Вы хотите внести изменения в файле конфигурации, но не должны посвящать себя центральному repo.

Лучший

1
ответ дан 22 November 2019 в 20:13
поделиться

Если вы выполните git update-index --assume-unchanged file.csproj , git не будет автоматически проверять file.csproj на наличие изменений: это остановит их появление в статусе git всякий раз, когда вы их меняете. Таким образом, вы можете пометить все свои файлы .csproj, хотя вам придется вручную отмечать любые новые, которые отправляет вам репозиторий восходящего потока. (Если они есть в вашем .gitignore или .git / info / exclude , то созданные вами будут проигнорированы)

Я не совсем уверен, какие файлы .csproj являются ... если это что-то вроде конфигураций IDE (похожих на файлы Eclipse .eclipse и .classpath), то я бы посоветовал им вообще никогда не контролироваться исходным кодом. С другой стороны, если они

240
ответ дан 22 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

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