Як ви вважаєте, чи є гарною практикою вчиняти .gitignore в Git repo?
Деяким це не подобається, але я думаю, що це добре, оскільки ви можете відстежувати історію файлу. Чи не так?
Як ви вважаєте, чи є гарною практикою вчиняти .gitignore в Git repo?
Деяким це не подобається, але я думаю, що це добре, оскільки ви можете відстежувати історію файлу. Чи не так?
Відповіді:
Як правило, так, .gitignore
корисно для всіх, хто хоче працювати з сховищем. Іноді ви захочете ігнорувати більше приватних речей (можливо, ви часто створюєте LOG
щось чи щось. У таких випадках ви, мабуть, не хочете це робити на когось іншого.
$GIT_DIR/info/exclude
або ~/.gitconfig
файлах, якщо це доречно.
git rm --cached FILENAME
Ви, як правило, виконуєте зобов’язання .gitignore
. Насправді я особисто підходжу до того, щоб переконатися, що мій індекс завжди чистий, коли я над чимсь не працюю. ( git status
нічого не повинно показувати.)
Бувають випадки, коли ви хочете ігнорувати речі, які насправді не мають конкретного проекту. Наприклад, ваш текстовий редактор може створити *~
файли автоматичного резервного копіювання, або іншим прикладом можуть бути .DS_Store
файли, створені ОС X.
Я б сказав, якщо інші скаржаться на ті правила, що захаращують ваші .gitignore
, залиште їх і замість цього поставте їх у глобальний файл виключень.
За замовчуванням цей файл знаходиться в $XDG_CONFIG_HOME/git/ignore
(за замовчуванням ~/.config/git/ignore
), але це місце можна змінити, встановивши core.excludesfile
параметр. Наприклад:
git config --global core.excludesfile ~/.gitignore
Просто створіть та відредагуйте глобальний файл виключень до вмісту вашого серця; він застосовуватиметься до кожного сховища git, над яким ви працюєте на цій машині.
# some comment
рядки до .gitignore
файлу, щоб пояснити, чому ви щось ігноруєте. Коментуючи кожен рядок трохи зайвим, але у мене є розділи помічені # IDE (Eclipse)
, # OS (Mac OS X)
і # Generated (Perl)
. Таким чином, якщо хтось хоче використовувати іншу ОС або IDE, він може додати розділ, і всі ми можемо поділитися.
core.excludesfile
є ~/.config/git/ignore
, що відповідає специфікації базового каталогу XDG
.gitignore
- надзвичайно вигідно, коли люди, з якими ви працюєте, не погоджуються щодо вмісту виштовхуваних .gitignore
файлів або про те, чи слід їх пересилати, а всі ми використовуємо тони різних середовищ розробника, які генерують різні типи шуму.
Я поміщаю вчинити .gitignore, що є люб’язністю для інших, хто може побудувати мій проект, щоб наступні файли були отримані і повинні ігноруватися.
Я зазвичай роблю гібрид. Мені подобається, щоб makefile генерував файл .gitignore, оскільки makefile буде знати всі файли, пов'язані з проектом, отриманим чи іншим чином. Потім у вас є проект верхнього рівня .gitignore, який ви зареєстрували, який ігнорував би створені файли .gitignore, створені makefile для різних підкаталогів.
Тож у моєму проекті у мене може бути каталог підрозділу зі всіма вбудованими виконуваними файлами. Тоді я змушу свій файл makefile генерувати .gitignore для цього каталогу бін. І у верхньому каталозі .gitignore, що містить список bin / .gitignore. Верхній - той, у якому я заїжджаю.
Здійснення .gitignore може бути дуже корисним, але ви хочете, щоб ви не змінювали його занадто сильно після цього, особливо якщо ви регулярно переходите між гілками. Якщо у вас можуть виникнути випадки, коли файли ігноруються у гілці, а не в іншій, змушуючи вас вручну видаляти або перейменовувати файли в робочому каталозі, оскільки реєстрація не вдалася, оскільки вона перезаписала б файл, який не відстежується.
Тому так, робіть своє .gitignore, але не раніше, ніж ви впевнено впевнені, що після цього це не зміниться.
Це хороша практика .gitignore
принаймні створювати вироби (програми, * .o тощо).
.gitignore
сам " .gitignore
d"?