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

Как игнорировать все файлы в папке с репозитаром git в SourceTree?

У меня есть репозиторий Bitbucket Git, управляемый с помощью SourceTree.

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

Как я могу это сделать?

4b9b3361

Ответ 1

Добавьте это в .gitignore:

*
!.gitignore

Ответ 2

Для пользователей SourceTree: если вы хотите игнорировать определенную папку, просто выберите файл из этой папки, щелкните его правой кнопкой мыши и выполните "Игнорировать...". У вас появится всплывающее меню, в котором вы можете игнорировать "Игнорировать все ниже:"

First menu

Second menu

Ответ 3

Щелкните правой кнопкой мыши файл → Игнорировать → Игнорировать все ниже.
Если параметр Игнорировать выделен серым цветом, выполните следующие действия:
1. первый файл этапа
2. щелкните правой кнопкой мыши → Остановить отслеживание
3. этот файл появится на панели внизу с вопросительным знаком → Щелкните правой кнопкой мыши по нему → Игнорировать
введите описание изображения здесь

Ответ 4

Насколько я знаю, Git не отслеживает папки, только файлы - пустые папки (или папки, в которых все файлы игнорируются) не могут быть зафиксированы. Если вы, например, нужно, чтобы папка присутствовала из-за некоторого шага в процессе сборки, возможно, вы можете создать свой инструмент сборки вместо этого? Или вы можете поместить один пустой, незарегистрированный файл в папку и зафиксировать его.

Ответ 5

Как упоминалось другими: git не отслеживает папки, только файлы.

Вы можете обеспечить наличие папки с этими командами (или эквивалентной логикой):

echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"

Существование файла будет означать, что у любого, кто проверяет репозиторий, будет папка.

Содержимое файла gitignore будет означать, что что-либо в нем игнорируется

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

ИЛИ

если вы предпочитаете сохранять все свои игнорирующие определения в одном и том же месте, вы можете создать .gitignore в корне вашего проекта с таким содержимым:

*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder

и обеспечить наличие папок

touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"

"все" может буквально быть чем угодно. Общие используемые имена: .gitignore,.gitkeep, empty.

Ответ 6

После избиения моей головы в течение как минимум часа я предлагаю этот ответ, чтобы попытаться расширить комментарии, сделанные другими. Чтобы игнорировать папку/каталог, выполните следующие действия: если у вас нет файла .gitignore в корне вашего проекта (это имя точно ".gitignore" ), создайте фиктивный текстовый файл в папке, исключить. Внутри исходного дерева щелкните правой кнопкой мыши по нему и выберите "Игнорировать". Вы получите всплывающее окно, которое выглядит так.

введите описание изображения здесь

Выберите "Все внизу" и выберите папку, которую вы хотите игнорировать, из раскрывающегося списка. Это создаст файл .gitignore в корневом каталоге и поместит в него спецификацию папки.

Если у вас есть папка .gitignore, уже находящаяся в вашей корневой папке, вы можете выполнить тот же подход выше, или просто отредактировать файл .gitignore и добавить папку, которую хотите исключить. Это просто текстовый файл. Обратите внимание, что он использует косые черты в именах путей, а не в обратных косых чертах, к которым привыкли пользователи Windows. Я попытался создать текстовый файл .gitignore вручную в Проводнике Windows, но он не позволил мне создать файл без имени (т.е. Только с расширением).

Обратите внимание, что добавление .gitignore и спецификация файла не будут влиять на файлы, которые уже отслеживаются. Если вы уже отслеживаете их, вам придется прекратить их отслеживать. (Щелкните правой кнопкой мыши по папке или файлу и выберите "Остановка отслеживания".) Затем вы увидите, что они меняются от зеленого/чистого или янтарного/измененного значка к красному/удаленному значку. При следующем фиксации файлы будут удалены из репозитория, а затем появятся с синим/проигнорированным значком. Другой участник спросил, почему Ignore отключен для определенных файлов, и я считаю, что это было потому, что он пытался игнорировать файл, который уже отслеживался. Вы можете игнорировать только файл с голубым знаком вопроса.

Ответ 7

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

Рядом с ним должен появиться синий значок. Щелкните правой кнопкой мыши по нему еще раз и щелкните игнорировать.

Ответ 8

в SourceTree: просто проигнорируйте файл в указанной папке, sourcetree спросит, хотите ли вы игнорировать все файлы в этой папке, это идеально!