3

Если я правильно понял, то файл gitignore создается как обычный файл и в который нужно записать, что нужно игнориоровать

И вот тут хочу уточнить

  • Добавляю я этот файл вот так? echo "# project_name" » gitignore ? Но какое расширение имеет этот файл?
  • Положить его нужно если я правильно понял в корень проекта, если мне нужно сделать игнор для всего проекта
  • И последнее, посоветуйте что должно быть внутри файла? Я вот, что собрал

    '#' Lines starting with '#' are considered comments.

    '#' Ignore any file named foo.txt.

    foo.txt

    '#' Ignore (generated) html files,

    *.html

    '#' except foo.html which is maintained by hand.

    !foo.html

    '#' Ignore objects and archives.

    *.[oa]

    .idea/

    .target/

    .out/

etki
  • 36,151
Sirop4ik
  • 10,954

3 Answers3

8

Файл должен быть обычным текстовым файлом, без расширения.

Называться он должен .gitignore (с точкой в начале).

Если у вас linux (или unix-like), то да, можно создать его через команду echo '' > .gitignore или touch .gitignore. Но если вы не понимаете зачем это, то можете создать его в вашем любимом текстовом редакторе (только расширение убрать не забудьте).

Если у вас windows: как создать файл .gitignore в Windows?

У github есть отличный сборник файлов .gitignore для всех популярных языков программирования - просто выберите какой вам нужен и скопируйте к себе.

Nick Volynkin
  • 34,094
FeroxTL
  • 3,071
  • 1
    Ну, формально это у него имени нет, а вот расширение как раз-таки есть :) – Pavel Mayorov Jul 06 '16 at 12:58
  • Не до конца понял Но если вы не понимаете зачем это - что это? и насчет любимом текстовом редакторе - у меня нет любимого... Или вы что то другое имели ввиду и не смогли внятно выразить мысль? – Sirop4ik Jul 06 '16 at 12:59
  • @PavelMayorov, формально или неформально - имя файла и есть .gitignore. В Linux точка не несёт такого сакрального смысла, как в Windows. А если она первая в имени файла - это всего лишь "аналог" атрибута HIDDEN. – PinkTux Jul 06 '16 at 13:05
  • 1
    @PavelMayorov нет, в linux это часть имени. И имя у него - .gitignore. Расширения нет. Если через python попробовать получить расширение, то выводится os.path.splitext('.gitignore') ('.gitignore', '') - то есть расширения нет. В windows - возможно. – FeroxTL Jul 06 '16 at 13:06
  • @AlekseyTimoshchenko если нет любимого, то пользуйтесь блокнотом – FeroxTL Jul 06 '16 at 13:06
  • @PinkTux где в вопросе указано про Linux? – Pavel Mayorov Jul 06 '16 at 13:14
  • @FeroxTL а в Java большая часть способов отсюда посчитает что gitignore - это расширение такое. – Pavel Mayorov Jul 06 '16 at 13:15
  • @PavelMayorov где в вопросе вообще указана ОС? Учитывая упоминание консольной утилиты автором вопроса echo можно только гадать что там у него – FeroxTL Jul 06 '16 at 13:18
  • @PavelMayorov, а как часто в Windows файлы создают при помощи echo? – PinkTux Jul 06 '16 at 13:22
  • @PinkTux вот именно .gitignore я так частенько дописываю. Да, на винде. – Pavel Mayorov Jul 06 '16 at 13:23
  • 2
    @PinkTux кстати, не забывайте - с гитом в комплекте идет git bash - а это маленький юникс :) – Pavel Mayorov Jul 06 '16 at 13:24
2
vim .gitignore
git add .gitignore

Содержимое файла составлять в зависимости от ваших нужд.

Т.е. если есть что то, что не имеет смысл ложить в проект (логи, кэши, временные файлы), то их и нужно добавлять в .gitignore.

Я бы советовал не брать какое то дефолтное содержимое файла, а добавлять в него по мере необходимости.

Я добавляю все скрытые файлы в игнор (.*), а на нужные скрытые делаю исключения (!.travis.yml). Пример файла .gitignore:

.*
!.keepdir
!.travis.yml
var/log/*
var/tmp/*
vendor/
jekaby
  • 2,824
1

посоветуйте что должно быть внутри файла?

Вот здесь ещё генератор .gitignore на всякие случаи: gitignore.io

По поводу использования - у меня, например, есть глобальный файл исключений, ссылка на который стоит в ~./gitconfig:

[core]
    excludesfile = ~/.gitexcludes

В него занесены самые общие случаи для всех используемых языков/IDE, при этом необходимость в локальном .gitignore для проектов возникает редко.

PinkTux
  • 9,056