У мене є сховище з файлом, Hello.java. Коли я компілюю його, Hello.classгенерується додатковий файл.
Я створив запис Hello.classу .gitignoreфайлі. Однак файл все ще видається відстеженим.
Як я можу змусити ігнорувати Git Hello.class?
У мене є сховище з файлом, Hello.java. Коли я компілюю його, Hello.classгенерується додатковий файл.
Я створив запис Hello.classу .gitignoreфайлі. Однак файл все ще видається відстеженим.
Як я можу змусити ігнорувати Git Hello.class?
Відповіді:
Проблема полягає в тому, що .gitignoreігнорується лише файли, які раніше не відслідковувалися (від git add). Запустіть, git reset name_of_fileщоб видалити файл і зберегти його. Якщо ви хочете також видалити даний файл із сховища (після натискання), використовуйте git rm --cached name_of_file.
git rm --cached name_of_fileвидалить файл із вашого git repo. Навіть якщо ви додасте його у свій .gitignore файл. Це не ігнорування того, що видалення.
git reset name_of_fileвидаляє стеження та не видаляє файл.
Як ігнорувати нові файли
В усьому світі
Додайте до свого файлу шлях (и), який ви хочете проігнорувати у своєму .gitignoreфайлі (і скопіюйте їх). Ці записи файлів також стосуватимуться інших, хто перевіряє сховище.
Місцево
Додайте до свого файлу шлях (і), який ви хочете проігнорувати у своєму .git/info/excludeфайлі. Ці записи файлів стосуються лише вашої місцевої робочої копії.
Як ігнорувати змінені файли (тимчасово)
Для того, щоб ігнорувати змінені файли до списку як модифіковані, ви можете використовувати таку команду git:
git update-index --assume-unchanged <file>
Щоб повернути це незнання, використовуйте таку команду:
git update-index --no-assume-unchanged <file>
localgit, ігноруючи, і перезапустив мою систему, вона все ще показує роботу безпосередньо в чистоті.
update-indexтрюк, абсолютно ідеальний, щоб уникнути зміни .gitignoreфайлу, який потім відстежується Git!
Додайте наступний рядок до .gitignore:
/Hello.class
Це виключить Hello.class з git. Якщо ви вже зробили це, виконайте таку команду:
git rm Hello.class
Якщо ви хочете виключити всі файли класу з git, додайте наступний рядок до .gitignore:
*.class
Hello.classдо .gitignoreігнорує будь-який файл, викликаний Hello.classу будь-якому підкаталозі. Якщо ви маєте намір ігнорувати файл лише Hello.classв тому самому каталозі, що і .gitignoreфайл, скористайтеся /Hello.classзамість нього рядком.
.gitignoreфайл?
.gitignoreбудь-якому місці git-проекту - якщо шлях починається з /, це буде відносно розташування .gitignoreфайлу; в іншому випадку він буде рекурсивно посилатися на файли в поточному каталозі та його нащадках.
1) Створіть .gitignoreфайл. Для цього потрібно просто створити .txtфайл і змінити розширення так:

Потім потрібно змінити ім'я, записавши наступний рядок у вікно cmd:
rename git.txt .gitignore
Де git.txtназва файлу, який ви тільки що створили.
Тоді ви можете відкрити файл і записати всі файли, які ви не хочете додати у сховище. Наприклад, моя виглядає так:
#OS junk files
[Tt]humbs.db
*.DS_Store
#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*
#Project files
[Bb]uild/
#Subversion files
.svn
# Office Temp Files
~$*
Після цього вам потрібно додати його до вашого сховища Git. Ви повинні зберегти файл, де знаходиться ваше сховище.
Тоді в Git Bash потрібно написати наступний рядок:
git config --global core.excludesfile ~/.gitignore_global
Якщо сховище вже існує, вам потрібно зробити наступне:
git rm -r --cached .git add .git commit -m ".gitignore is now working"Якщо крок 2 не працює, слід записати весь маршрут файлів, які ви хочете додати.
Ігнорувати:
git update-index --assume-unchanged <path/to/file>
Щоб скасувати ігнорування:
git update-index --no-assume-unchanged <path/to/file>
lstat(2)витрат, він залишає за собою право повідомити, що шлях був змінений (… git commit -aвільний здійснити цю зміну).
Ви можете використовувати методи нижче, щоб ігнорувати / не ігнорувати зміни в відстежуваних файлах.
git update-index --assume-unchanged <file>git update-index --no-assume-unchanged <file>lstat(2)витрат, він залишає за собою право повідомити, що шлях був змінений (… git commit -aвільний здійснити цю зміну).
Створіть .gitignoreу каталозі, де знаходиться .git. Ви можете перелічити в ньому файли, розділені новим рядком. Ви також можете використовувати підстановку:
*.o
.*.swp
.gitignoreфайлах специфічних шаблонів (тобто тимчасових файлів Vim) (якщо цей інструмент не передбачений проектом). Ви можете розмістити шаблони для ваших улюблених інструментів у файлі (наборі core.excludesFile) для кожного користувача; вони працюватимуть у всіх ваших сховищах. Наприклад git config --global core.excludesFile "$HOME/.git-user-excludes", потім помістіть їх у цей файл.
З офіційного сайту GitHub:
Якщо у вас вже зареєстрований файл, і ви хочете його проігнорувати, Git не буде ігнорувати файл, якщо ви додасте правило пізніше. У цих випадках потрібно спочатку зняти файл, виконавши таку команду у своєму терміналі:
git rm --cached FILENAME
або
git rm --cached .
Вам слід написати щось подібне
*.class
у ваш .gitignoreфайл.
*.classдо свого .gitignoregit, щоб ігнорувати всі файли, що закінчуються на .class.
Створюючи файл .gitignore. Детальніше дивіться тут: Git Book - Ігнорування файлів
Також перевірте це: Як зробити так, щоб Git ігнорував файли, не використовуючи .gitignore?
Якщо ви вже зробили файл і ви намагаєтесь проігнорувати його, додавши до нього .gitignore, Git не буде ігнорувати його. Для цього спочатку потрібно зробити наступні речі:
git rm --cached FILENAME
Якщо ви починаєте проект щойно і хочете додати деякі файли до ігнорування Git, виконайте наведені нижче дії, щоб створити файл ігнорування Git:
.gitignoreфайл.Ви також можете використовувати .gitattributes (замість .gitignore), щоб виключити цілі файли. Файл досить зрозумілий, але я вставлю його тут для довідок. Зверніть увагу на останній рядок (* .class binary):
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary
Додайте наступний рядок до .git / info / виключити:
Hello.class
.git?
У мене була схожа проблема з файлом "dump.rdb".
Я намагався додати цей файл різними способами .gitignore файл, але працював лише один спосіб.
Додайте своє ім’я файлу в кінці файлу .gitignore
ПРИМІТКА. Додавання файлу в іншому місці не працювало.
Наприклад, див .: https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
Ця веб-сторінка може бути корисною та економією часу при роботі .gitignore.
Він автоматично генерує .gitignore файли для різних IDE та операційних систем із певними файлами / папками, які зазвичай не хочеться перетягувати у ваше сховище Git (наприклад, специфічні папки та конфігураційні файли для IDE).
Я спробував це -
git status
.idea/xyz.xml
.idea/pqr.iml
Output
.DS_Store
echo "
.idea/xyz.xml
.idea/pqr.iml
Output
.DS_Store" >> .gitignore
git status
.gitignore
так само ми можемо додати каталог та всі його підручні файли / файли, які ми хочемо ігнорувати у статусі git, використовуючи directoryname/*цю команду, і я виконав цю команду з srcкаталогу.
git rm -r --cached .git add .Я спробував --assume-unchangedі також, .gitignoreале не працював добре. Вони ускладнюють перемикання гілок і важко об'єднувати зміни з іншими. Це моє рішення:
Коли я здійснюю , я вручну видаляю файли зі списку змін
Перед тим, як тягнути , я ховаю змінені файли. А після тяги я роблю приховану попсу .
Крок 3 іноді спровокує злиття і може призвести до конфлікту, який потрібно вирішити, що добре.
Це дозволяє мені зберігати локальні зміни, які не поділяються з іншими в колективі.