У мене є сховище Bitbucket Git, яким керує Sourcetree.
У мене є дві папки, які я хочу зафіксувати, але мені потрібно ігнорувати всі файли в цих папках, оскільки вони містять лише тимчасові файли.
Як я можу це зробити?
У мене є сховище Bitbucket Git, яким керує Sourcetree.
У мене є дві папки, які я хочу зафіксувати, але мені потрібно ігнорувати всі файли в цих папках, оскільки вони містять лише тимчасові файли.
Як я можу це зробити?
Відповіді:
Додайте це до .gitignore:
*
!.gitignore
.gitginore
це звичайний файл, просто створіть його в каталозі, вміст якого ви хочете проігнорувати.
Для користувачів Sourcetree: Якщо ви хочете проігнорувати певну папку, просто виберіть файл із цієї папки, клацніть правою кнопкою миші та виконайте "Ігнорувати ...". У вас з’явиться спливаюче меню, де ви можете проігнорувати "Ігнорувати все, що внизу: <ВАША НЕОБХІДНА ПАПКА>"
Якщо у вас опція «Ігнорувати» неактивна, вам слід вибрати опцію «Зупинити відстеження». Після цього файл буде доданий до поетапних файлів зі знаком мінус на червоному піктограмі, а піктограма файлу в списку Нестадійні файли зміниться на знак питання на фіолетовому фоні. Тепер у списку Нестадійні файли опція «Ігнорувати» знову ввімкнена. Просто зробіть, як описано вище.
Клацніть правою кнопкою миші на файлі → Ігнорувати → Ігнорувати все, що знаходиться внизу .
Якщо параметр Ігнорувати неактивний, тоді:
Наскільки мені відомо, Git не відстежує папки, а лише файли - тому порожні папки (або папки, де всі файли ігноруються) не можуть бути зафіксовані. Якщо вам, наприклад, потрібно, щоб папка була присутня через якийсь крок у процесі збірки, можливо, ви можете замість цього створити її за допомогою інструмента збірки? Або ви можете помістити один порожній, неігнорований файл у папку та зафіксувати його.
Побивши це головою принаймні годину, я пропоную цю відповідь, щоб спробувати розширити коментарі, зроблені іншими. Щоб проігнорувати папку / каталог, зробіть наступне: якщо у вас немає файлу .gitignore у кореневій частині проекту (саме це ім’я ".gitignore"), створіть фіктивний текстовий файл у папці, яку потрібно виключити. Усередині Дерева джерел клацніть правою кнопкою миші та виберіть Ігнорувати. Ви отримаєте спливаюче вікно, яке виглядає так.
Виберіть "Все, що внизу", і виберіть зі спадного списку папку, яку ви хочете проігнорувати. Це створить файл .gitignore у вашому кореневому каталозі та помістить у нього специфікацію папки.
Якщо у вас у вашій кореневій папці вже є папка .gitignore, ви можете скористатися тим самим підходом, наведеним вище, або просто відредагувати файл .gitignore та додати папку, яку ви хочете виключити. Це просто текстовий файл. Зауважте, що в іменах шляхів він використовує скісні риски, а не зворотні, як ми звикли користувачі Windows. Я спробував створити текстовий файл .gitignore вручну у Провіднику Windows, але це не дозволило мені створити файл без імені (тобто лише з розширенням).
Зверніть увагу, що додавання .gitignore та специфікації файлу не вплине на файли, які вже відстежуються. Якщо ви вже відстежуєте їх, вам доведеться припинити їх відстеження. (Клацніть правою кнопкою миші на папці або файлі та виберіть Зупинити відстеження.) Потім ви побачите, як вони змінюються із зеленого / чистого або бурштинового / зміненого значка на червоний / видалений значок. Під час наступного коміту файли буде видалено зі сховища, а потім з’являться з синім / ігнорованим значком. Інший співавтор запитав, чому Ignore було вимкнено для певних файлів, і я вважаю, що це тому, що він намагався ігнорувати файл, який вже відстежувався. Ви можете ігнорувати лише файл, який має синій значок знака запитання.
Як згадували інші: 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.
Якщо ваш варіант Ігнорувати неактивний, вам доведеться припинити відстеження файлу, перш ніж ви зможете його ігнорувати. Ви можете просто клацнути файл правою кнопкою миші та натиснути "Зупинити відстеження".
Біля нього повинен з’явитися синій значок. Клацніть правою кнопкою миші ще раз і натисніть ігнорувати.
Ігнорувати повну папку у дереві джерела.
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
Для папки bin та obj просто напишіть: * / bin / * / obj /
У Sourcetree: Просто ігноруйте файл у вказаній папці. Sourcetree запитає, чи хочете ви ігнорувати всі файли в цій папці. Це прекрасно!
*
ігнорує всі файли, а!.gitignore
засіб не ігнорує сам файл