gitignore и как игнорировать общее имя каталога и его содержимое - PullRequest
11 голосов
/ 13 октября 2010

Я выдернул свои волосы, исследуя сеть и различные документы о файлах .gitignore.Я немного n00b с Unix / Terminal (используя Mac OS X), и я не могу понять, как игнорировать содержимое папки (любой тип содержимого, будь то файл или другая папка,независимо от того, насколько это глубоко).

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

Я пробовал:

# Images
resample/
resize/
min/

И ...

# Images
resample/*
resize/*
min/*

И ...

# Images
*/resample/*
*/resize/*
*/min/*

И многие другие комбинации с неудовлетворительными результатами.Мне никогда не удавалось работать с шаблоном foldername/**/*.Любая помощь в этом вопросе будет признательна!

Ответы [ 2 ]

25 голосов
/ 13 октября 2010

Спасибо предыдущим авторам за помощь. После некоторого дальнейшего изучения я обнаружил, как правильно реализовать новые правила .gitignore. Проблема заключалась в том, что ранее изображения отслеживались, поэтому мне пришлось удалить ссылку на файлы в файле .git/index, например ...

// Remove all tracked files from the index
// (doesn't remove the file, just the reference)
git rm -r --cached .

// Add all the files again
// (files and folders specified by .gitignore aren't added to the index)
git add .

// Commit to save changes
git commit -am "gitignore update"
8 голосов
/ 13 октября 2010

Вы ищете gitignore

Файл gitignore указывает намеренно не отслеживаемые файлы, которые git должен игнорировать. Обратите внимание, что все Файлы gitignore действительно относятся только к файлам, которые еще не отслеживаются git;

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

Также обратите внимание на чувствительность к регистру в ваших шаблонах.

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

# Images
resample/
resize/
min/
...