Я новий користувач, gitі я починаю новий проект. У мене є купа точкових файлів, які я хотів би проігнорувати. Чи є команда ігнорування для, gitяк є для svn?
Я новий користувач, gitі я починаю новий проект. У мене є купа точкових файлів, які я хотів би проігнорувати. Чи є команда ігнорування для, gitяк є для svn?
Відповіді:
Спеціальної git ignoreкоманди немає .
Відредагуйте .gitignoreфайл, розташований у відповідному місці в робочій копії. Потім слід додати це .gitignoreі зробити це. Кожен, хто клонує цей репо, буде ігнорувати ці файли.
Зауважте, що тільки імена файлів, починаючи з, /будуть відносно каталогу, де .gitignoreзнаходиться. Всього іншого буде відповідати файлам у будь-якому підкаталозі.
Ви також можете редагувати, .git/info/excludeщоб ігнорувати конкретні файли саме в тій робочій копії. .git/info/excludeФайл не буде здійснене, і, таким чином , застосовується тільки локально в цій одній робочої копії.
Ви також можете налаштувати глобальний файл із шаблонами, які слід ігнорувати git config --global core.excludesfile . Це локально стосується всіх робочих копій git в обліковому записі одного користувача.
Запустіть git help gitignoreі прочитайте текст для деталей.
Дуже корисна команда ігнорування git поставляється з дивовижними tj / git-extras .
Ось кілька прикладів використання:
git ignore
git ignore "*.log"
git ignore-io -a rails
git-extras надає ще багато корисних команд. Однозначно варто спробувати.
У Linux / Unix ви можете додавати файли до файлу .gitignore за допомогою echoкоманди. Наприклад, якщо ви хочете ігнорувати всі .svnпапки, запустіть це з кореня проекту:
echo .svn/ >> .gitignore
/та трелінг '\' (щоб створити новий рядок), наприклад, echo /nbproject/project.properties\ >> .gitignoreта echo /nbproject/project.xml\ >> .gitignore.
У вас є два способи ігнорування файлів:
.gitignoreу будь-якій папці буде проігноровано файли, як зазначено у файлі для цієї папки. Використовувати підстановку можна..git/info/excludeмістить глобальний шаблон ігнорування, аналогічний global-ignoresфайлу конфігурації підривок..gitignoreфайлі, які не містять '/', відповідають рекурсивно (тобто також у всіх підкаталогах каталогу, у якому .gitignoreзнаходиться файл), всупереч випадку svn:ignoreвластивостей каталогу в Subversion.
Я сподіваюся, що не пізно.
Якщо ви працюєте в Windows, ви можете просто зробити наступне, щоб створити .gitignore файл
echo name_of_the_file_you_want_to_ignore.extension > .gitignore
Для редагування .gitignore можна запустити
notepad .gitignore
Створіть файл з назвою .gitignore у корені вашого сховища. У цьому файлі ви ставите відносний шлях до кожного файлу, який ви хочете ігнорувати, в одному рядку. Можна використовувати *підстановку.
Використовуючи вже надані відповіді, ви можете прокрутити власну git ignoreкоманду, використовуючи псевдонім . Або додайте це до файлу ~ / .gitconfig:
ignore = !sh -c 'echo $1 >> .gitignore' -
Або запустіть цю команду з оболонки (* nix) на ваш вибір:
git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'
Ви також можете створити git excludeкоманду, замінивши ignoreна excludeі .gitignoreз .git/info/excludeу вказаному вище.
(Якщо ви вже не розумієте різницю між цими двома файлами, прочитавши відповіді тут, дивіться це питання .)
для імен, відсутніх у робочій копії чи репо-репортажі:
echo /globpattern >> .gitignore
або для наявного файлу (командний рядок типу sh):
echo /$(ls -1 file) >> .gitignore # I use tab completion to select the file to be ignored
git rm -r --cached file # if already checked in, deletes it on next commit
Корисно визначити повний .gitignore файл для вашого проекту. Нагорода - це безпечне використання зручного --allабо -aпрапор для таких команд як addі commit.
Також розглянемо можливість визначення глобального файлу ~ / .gitignore для часто ігнорованих шаблонів, таких як *~
, який охоплює тимчасові файли, створені Emacs.
Для цього вам потрібно встановити додатки git. Ви можете встановити його в Ubuntu за допомогою apt-get,
$ sudo apt-get install git-extras
Тоді ви можете скористатися командою git ignore.
$ git ignore file_name
brew install git-extras.
Ви також можете використовувати gitignore.io Джо Блау
Або через веб-інтерфейс https://www.gitignore.io/
Або встановивши інструмент CLI, це дуже просто, просто введіть наступне на своєму терміналі:
Linux:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc
OSX:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile
І тоді ви можете просто набрати giнаступні всі елементи платформи / середовища, для яких вам потрібні критерії gitignore.
Приклад!
Скажімо, ви працюєте над проектом вузла, який включає грунт, і ви використовуєте веб-шторм на Linux, тоді ви можете ввести:
gi linux,webstorm,node,grunt > .gitignore(створити абсолютно новий файл)
або
gi linux,webstorm,node,grunt >> .gitignore(додати / додати нові правила до наявного файлу )
бам, ти добре підеш