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

Видео урок: Инициализация Git

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

В этом ролике мы рассмотрим, как использовать Git, чтобы начать отслеживать изменения внутри нашего проекта explore_california. Итак, в проекте уже есть файлы, но Git их прямо сейчас не отслеживает, на данный момент Git вообще не имеет о них представления, еще не создан репозиторий, чтобы отслеживать эти файлы, сейчас это просто набор файлов. Чтобы ввести Git в игру, нам нужно переключиться на директорию. Теперь, как вы видите, я в first_git_project, я возвращаюсь обратно в директорию, и вы видите здесь проект explore_california. Я захожу в эту папку, и давайте взглянем, что здесь есть.

Видите, здесь нет папки .git, здесь есть .DS_Store, игнорируйте его, это просто маленький файл, который Macintosh использует, чтобы отслеживать некоторую базовую информацию о файлах. Мы также можем написать git status, и вы увидите, что Git нам скажет - упс, это не Git репозиторий или какая-то из родительских директорий, на самом деле он просматривает все родительские директории над этой и выше, в поисках папки .git, и он говорит - нет, нигде не могу ее найти, и это не Git репозиторий. И мы ведь помним, как инициализировать репозиторий, верно? Это команда git init, и как только мы ее напишем, .git файл будет находиться внутри директории нашего проекта, и здесь будет располагаться вся отслеживающая информация об этих файлах.

Теперь, если мы напишем git status, вы видите, что Git говорит нам, что сейчас здесь есть не отслеживаемые файлы. Прежде чем мы их добавим, давайте сперва напишем git log и посмотрим, что будет. Команда git log говорит - упс, пока что HEAD ни на что полезное не указывает, и это именно то, на что она обращает внимание – HEAD ни на что полезное не указывает. А Git пытается найти HEAD, потому что HEAD указывает на последний коммит. Ну, коммита ведь до сих пор не было, поэтому HEAD не был установлен, а это случится только тогда, когда вы впервые инициализируете проект. Как только мы сделаем первый коммит, все будет на месте.

Чтобы сделать коммит, мы пишем git add, и добавляем всю директорию, то есть пишем git add с точкой, и будет добавлено все, что есть в текущей директории. Команда git status все нам покажет. Вы видите весь набор того, что здесь находится – все эти новые файлы. Обычно, если вы начинаете работу с новым проектом, и у вас есть существующие файлы, вот на что он будет похож. Обычно вы пишете git commit -m, а также вы можете назвать его Initial commit (первоначальный коммит). Таким образом, здесь создана целая группа файлов.

Можно посмотреть, сколько их всего, 69 файлов изменены, и Git дает нам коммит, теперь git log показывает нам что-то полезное, ведь мы создали Initial commit. Прежде чем мы начнем делать изменения, я хочу убедиться, что одна вещь абсолютно понятна для вас, что репозиторий explore_california и репозиторий first_git_project полностью разделены. Помните, вся информация о репозитории сохраняется в этой папке .git на верхнем уровне этих двух директорий, так что эти две директории полностью разделены. И здесь git log показывает то, что находится внутри проекта explore_california.

Если я вернусь в проект first_git_project, напишу git log, вы увидите все, что находится в этом проекте. Вернемся в explore_california и снова напишем git log, можно увидеть только этот Initial commit. Возможно, это для вас очевидно, но я просто хотел убедиться, что вам абсолютно понятно, что эти два проекта разделены, и что у вас может быть столько Git репозиториев на компьютере, сколько вы хотите. Например, если вы работаете с 20 различными веб сайтами, у вас может быть 20 различных папок, и у каждой может быть свой Git репозиторий. Вообще не сложно просто перемещаться между ними, и в каждом будет находиться информация о том, что было изменено в этом репозитории. Эта практика очень распространена.

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