Предыдущий ролик Следующий ролик  

Видео урок: Что нужно игнорировать

Git: обучение основам

В последнем ролике мы рассмотрели, как можно использовать файл .gitignore для правил для Git о том, какие файлы должны быть проигнорированы или не отслеживаться. В этом ролике я хочу поговорить о тех видах файлов, которые вы, возможно, захотите включить в ваш файл .gitignore. Во-первых, давайте рассмотрим несколько основных категорий. Скомпилированный исходный код. Идея здесь состоит в том, что, возможно, вы захотите сохранить нескомпилированный код, а компиляцию вы захотите сделать после того, как заберете его из репозитория. Скомпилированный код может зависеть от таких вещей как процессор вашего компьютера, и вы не захотите компилировать его сырым, а захотите убедиться, что его вообще можно скомпилировать.

Также, возможно, вы захотите игнорировать архивы, это файлы, которые заканчиваются на .zip, .gz, например, это также файлы образа диска, это обычно файлы, которые в самом проекте вы не используете. Например, zip фалы сами по себе находятся где-то еще. вы их архивируете, чтобы закачать или кому-то отправить, сами по себе они не годны для использования, перед использованием их нужно разархивировать. И вы не получите никакого преимущества от архива, Git делает свою собственную компрессию, вы не помогаете Git, архивируя эти файлы.

Далее идут логи и базы данных. Идея здесь состоит в том, что эти файлы часто меняются. Поэтому пока мы работаем над проектом, вся информация о логах сохраняется в файле логов. Не хочется, чтобы каждый раз, когда вы нажимали get status, Git говорил вам об этих изменениях в файле логов. Далее, файлы, сгенерированные операционной системой, это файлы, которые не имеют ничего общего с нашим проектом, это файлы, которые операционная система использует для отслеживания. Возможно, это позиция окна на десктопе, или что-то, что находится в корзине. И мы хотим их игнорировать, мы не хотим, чтобы они отслеживались в репозитории, потому что они совершенно не касаются проекта.

И последней общей категорией являются загруженные пользователем активы. В большинстве случаев это применяется тогда, когда мы работаем с веб проектами. Представим на минутку, что у нас есть PHP проект, и есть веб форма, куда пользователь может загрузить картинку. Когда мы разрабатываем и тестируем код, мы можем загружать картинки, и мы можем сказать нашему PHP коду - так, как только ты получил картинку, ты должен сохранить ее в этой директории внутри нашего проекта. Она сохранена в этой директории, а затем появляется Git и говорит: "Я заметил, что есть новый файл с рисунком, вы хотите добавить его в репозиторий?" Мы не хотим, мы хотим игнорировать все эти файлы, все тесты, что мы делаем, весь тот контент, что загружают в данную директорию пользователи, мы хотим все это игнорировать.

Все это динамично и постоянно меняется, точно так же как и файлы с логами и базы данных. Вот это основные категории, но я хочу дать вам еще некоторую более конкретную информацию, и для этого есть отличные ресурсы на GitHub. Если вы зайдете на GitHub, вы увидите две полезные ссылки. Первая ведет на статью в разделе Помощь (Help) о том, как игнорировать файлы, и здесь можно найти много полезных советов. А вторая указывает на репозиторий Github, который называется gitignore, и здесь тоже можно почерпнуть много хороших идей. Давайте рассмотрим оба этих варианта. Итак, первый - это статья в разделе Помощь в Github о том, как игнорировать файлы, здесь есть информация, как игнорировать фалы вообще, включая то, что мы только что изучили касательно gitignore.

Но я хочу, чтобы вы увидели вот это: "Вот некоторые хорошие правила, которые могут вам послужить при добавлении чего-то в этот файл", и здесь вы видите скомпилированные ресурсы, архивы, логи и базы данных, файлы, сгенерированные операционной системой. В общем, здесь есть список хороших общих идей. Для большинства людей это покажется излишним, потому что вы, возможно, не встретитесь даже с половиной всего этого, в зависимости от того, какой язык вы используете. Это действительно очень общий список. Если вы хотите найти что-то контретное, подходящее именно для ваших целей, загляните в gitignore репозиторий. Если спуститься вниз, вы увидите список различных файлов, находящихся здесь, это файлы из репозитория, и каждый из них входит в файл gitignore, который конкретен для определенного языка.

Например, если вы работаете с Django, вы можете кликнуть сюда, и вы увидите здесь список файлов, которые, как он считает, было бы неплохо проигнорировать. Зайдем сюда и прокрутим до другого. Допустим, мы работаем с Java, вот есть файл Java.gitignore. Если мы прокрутим дальше, мы увидим такой же для Perl, давайте кликнем на него, и теперь мы видим список файлов, которые вы, как правило, захотите проигнорировать, если работаете над Perl проектом. И есть не только язык приложения, который вы используете, есть также папка, которая называется Global, и в ней есть много информации об операционных системах или приложениях, которые вы, возможно, используете.

Например, если вы используете OS X, здесь есть список файлов, которые неплохо бы игноривать в OS X. Если вы под Windows, прокрутите еще вниз, вы увидите список файлов, которые нужно игнорировать в Windows. В общем, это отличный ресурс, куда вы можете зайти и посмотреть, что стоит вставить в файл gitignore. Конечно, самый просто способ сделать это - это начать новый проект, а когда встречаются файлы, которые вы хотите проигнорировать, вы можете взять небольшую паузу и добавить их в файл gitignore.