Установка Git + GitHub Desktop и работа с ними

Featured image

В статье рассказывается, как новичку установить Git и начать с ним работать через GitHub.

📖 Содержание ⬇️

Содержание

В этой статье не рассказывается подробно о технологии Git и его возможностях. Для этого есть официальный учебник и множество других ресурсов.

Установка Git

Скачиваем установщик на сайте https://git-scm.com/:

Скачивание установщика под Windows

Рисунок 1 — Скачивание установщика под Windows

Не бойтесь непонятных пояснений, которые будут встречаться в процессе установки.

Запускаем установку:

Начальное окно установщика

Рисунок 2 — Начальное окно установщика

Выбор пути установки Git

Рисунок 3 — Выбор пути установки Git

Лично я кроме включенных по умолчанию настроек выбираю ежедневную проверку новых обновлений Git и поддержку работы с Windows Terminal. Вы можете их не выбирать:

Выбор настроек установки

Рисунок 4 — Выбор настроек установки

Выбор расположения в меню Пуск

Рисунок 5 — Выбор расположения в меню Пуск

Для работы с Git иногда требуется из-под консоли Git запускать текстовой редактор. И тут можно выбрать, какой текстовой редактор будет запускаться при этом. Если у вас ничего особенного нет, то выбирайте обычный блокнот Use Notepad as Git's default editor. У меня же стоит Visual Studio Code Insiders, поэтому я выбираю выделенный синим пункт:

Выбор текстового редактора для работы с Git

Рисунок 6 — Выбор текстового редактора для работы с Git

Раньше начальная ветка в Git называлась master. Но теперь в GitHub она называется main, так как master по своему смыслу означает рабовладельцев. Выбираем начальное название ветки, как main:

Выбор названия начальной ветки

Рисунок 7 — Выбор названия начальной ветки

Далее идет выбор того, как Git будет вызываться в командной строке. Оставляем по умолчанию, чтобы Git работал везде, но не переписывал стандартные команды консоли Windows:

Настройка PATH

Рисунок 8 — Настройка PATH

Если не разбирайтесь в SSH и не хотите что-то настраивать под себя, то выбираете по умолчанию:

Настройка SSH

Рисунок 9 — Настройка SSH

Опять таки стандартная настройка работы с SSL нас устроит:

Настройка SSL

Рисунок 10 — Настройка SSL

В Windows в текстовых документах строки оканчиваются на два символа \r\n, тогда как в Linux окачиваются строки только на \n. И из-за этого возникают проблемы при обработке одних и тех же текстовых документов в разных операционных системах. Так как мы устанавливаем под Windows, но в то же время хотим стандартную работу Git, то в Git строки будут попадать с \n на конце. В общем, оставляем всё по умолчанию:

Настройка окончания строк для коммитов

Рисунок 11 — Настройка окончания строк для коммитов

Git Bash будем запускать в родном эмуляторе MinTTY (так, например, удобно работать с OpenSSL для некоторых задач). То есть опять по умолчанию оставляем:

Настройка терминала для Git Bash

Рисунок 12 — Настройка терминала для Git Bash

Поведение команды git pull (загрузка удаленного репозитория на локальную машину) оставляем без изменений:

Выбор поведения Git pull

Рисунок 13 — Выбор поведения Git pull

Систему аутентификации пользователей Git также берем по умолчанию:

Выбор credential helper

Рисунок 14 — Выбор credential helper

В дополнительных настройках опять таки оставляем всё по умолчанию (экспериментальные функции не выбираем, если соответствующее окно появляется):

Выбор дополнительных настроек

Рисунок 15 — Выбор дополнительных настроек

Процесс установки

Рисунок 16 — Процесс установки

Окончание установки

Рисунок 17 — Окончание установки

Теперь Git установлен на вашем компьютере, и через консоль вы можете полноценно работать с ним. Но мы же хотим работать со связкой с GitHub, поэтому перейдем к нему.

Создание учетки в GitHub

GitHub и Git — это разные вещи. GitHub — это сайт, где вы можете размещать проекты с использованием Git + всякие плюшки самого GitHub.

Итак, переходим на сайт https://github.com/ и переходим по ссылке Sign up:

Главная страница сайта GitHub

Рисунок 18 — Главная страница сайта GitHub

Создание нового аккаунта стало гораздо проще, чем было до этого.

Вводим свой email, пароль, имя учетки, страну:

Ввод Email

Рисунок 19 — Ввод Email

Когда выбираете имя для своего аккаунта, то будьте осторожны. Этот шаг важен! Возможно, что в будущем ваши работодатели будут видеть его название.

После этого нужно будет подтвердить создание аккаунта через ввод кода, который придет на почту:

Ввод кода

Рисунок 20 — Ввод кода

После этого входим в аккаунт по логину и паролю (или через Sign in на главной странице):

Вход в уже существующую учетную запись

Рисунок 21 — Вход в уже существующую учетную запись

И теперь вы в своем профиле:

Вход в уже существующую учетную запись

Рисунок 22 — Вход в уже существующую учетную запись

Создание нового репозитория

Репозиторий — это проект в терминологии Git. Создадим новый репозиторий через знак плюса:

Создание нового репозитория

Рисунок 23 — Создание нового репозитория

Обязательно нужно указать только название проекта (английские буквы). В примере я его назвал Test. Остальное опционально:

Настройка проекта

Рисунок 24 — Настройка проекта

Хоть остальное опционально, но расскажу про каждый пункт под спойлером:

Описание параметров репозитория

Description — необязательное описание вашего проекта. Помогает в поиске проектов.

Например, я в GitHub в поиске ввел plot и в результатах поиска сразу могу прочитать краткое описание каждого проекта:

Настройка проекта

Рисунок 25 — Настройка проекта

Choose visibility — если проект в режиме Private, то его только вы сможете увидеть; проекты в режиме Public общедоступны. Раньше приватные проекты были платными, сейчас бесплатны.

Add a README — добавит в ваш проект файл README.md в формате Markdown, в котором вы можете подробно описать свой проект. Более подробно тут. Именно эти файлы вы видите в проекте, когда его открываете:

Пример файла

Рисунок 26 — Пример файла README.md

Add .gitignore — добавит в ваш проект файл .gitignore. Когда вы работает над проектом в какой-нибудь среде (Pycharm, Visual Studio и так далее), то в процессе работы образуются файлы, которые сохранять в Git не нужно: они временный мусор. Например, в Qt образуется файл с расширением .pro.user: он на каждом компьютере создается автоматически. А в Node.js проектах в GitHub не нужно тащить папку пакетов node_modules, так как она создается автоматически после команды npm i через файл package.json. И чтобы не тащить весь этот мусор, в файле .gitignore прописываются шаблоны мусора, который в Git не попадет. При выборе галочки появится список языков, которые подберут для вас нужное содержимое файла .gitignore:

Пример выбора файла .gitignore

Рисунок 27 — Пример выбора файла .gitignore

А в репозитории https://github.com/github/gitignore или на сайте https://www.toptal.com/developers/gitignore представлено гораздо больше шаблонов .gitignore файлов.

Add license — добавит в ваш проект файл лицензии. Есть много лицензий для распространения программ. Например, MIT позволяет делать с кодом почти всё, но снимает с автора кода любую ответственность. А лицензия GNU GPL заставляет тех, кто использует ваш код, свои проекты также делать под GNU GPL лицензией: открыто и свободно. Можно написать и свою лицензию. В общем, лицензия — это просто текстовой файл с описанием того, что может человек делать с вашим проектом, а что не может:

Пример выбора лицензии

Рисунок 28 — Пример выбора лицензии

Кстати, все эти три файла можно будет добавлять в проект потом вручную как обычные файлы, так что не обязательно их сейчас тут выбирать.

Итак, вы нажали на кнопку Create repository, и у вас создаться репозиторий:

Новый репозиторий

Рисунок 29 — Новый репозиторий

Обратите внимание, что у репозитория появится ссылка вида:

https://github.com/[Ваш-логин]/[Название-проекта]

Пока в репозитории пусто (если вы не отметили галочки Add a README file и др.). По идеи файлы можно создавать и тут на сайте GitHub (на скриншоте выше есть синяя ссылка creating new file), но так лучше поступать только в крайних случаях. Мы будем создавать все файлы у себя на компьютере, куда мы установили Git.

Установка GitHub Desktop

Опять таки после установки Git и создания репозитория в GitHub вы можете с репозиторием работать уже сейчас, используя командную строку, что часто вам и придется делать. Но рутинную работу с Git лучше делать через нормальный интерфейс. Для этого есть много разных программ, но мы будем использовать официальный GitHub Desktop.

Переходим на сайт https://desktop.github.com/download/ и скачиваем установщик:

Скачивание установщика

Рисунок 30 — Скачивание установщика

Установка быстрая, но отличается от стандартных установщиков. На первом окне вас попросят авторизоваться в GitHub:

Авторизация в GitHub

Рисунок 31 — Авторизация в GitHub

После вас перебросит в браузер. Если вы выходили из аккаунта GitHub, то придется ввести свои логин и пароль:

Ввод логи н и пароля GitHub

Рисунок 32 — Ввод логи н и пароля GitHub

После этого вам предложат связать GitHub аккаунт с GitHub Desktop:

Авторизация GitHub Desktop

Рисунок 33 — Авторизация GitHub Desktop

После успешной авторизации выбираете правильную почту и нажмите кнопку Finish:

Окончание установки

Рисунок 34 — Окончание установки

Открытый GitHub Desktop

Рисунок 35 — Открытый GitHub Desktop

Клонирование Git репозитория

Теперь клонируем наш репозиторий с сайта GitHub на ваш компьютер. Для этого перейдите File → Clone repository…:

Пункт меню с клонированием проекта

Рисунок 36 — Пункт меню с клонированием проекта

После этого выбираем наш репозиторий, выбираем папку, куда будет скопирован наш репозиторий, и нажимаем Clone:

Выбор репозитория для клонирования

Рисунок 37 — Выбор репозитория для клонирования

Всё. Наш проект скопирован:

Репозиторий в GitHub Desktop

Рисунок 38 — Репозиторий в GitHub Desktop

Кстати, тут можно переключаться между разными репозиториями:

Переключение между репозиториями

Рисунок 39 — Переключение между репозиториями

И там, если кликнуть по проекту правой кнопкой и выбрать Show in Explorer, то вы перейдете в папку вашего репозитория:

Переключение между репозиториями

Рисунок 40 — Переключение между репозиториями

В папке будет скрытая папка .git, которую вы никогда не трогайте самостоятельно (если папки не видно, то у вас включено скрытие скрытых файлов и папок):

Переключение между репозиториями

Рисунок 41 — Переключение между репозиториями

Работа с проектом

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

Для примера я создам текстовой файл test.txt с содержимым:

Первая строка
Вторая строка

И добавлю картинку image.png:

Тестовая картинка

Рисунок 42 — Тестовая картинка

Файлы в папке с проектом

Рисунок 43 — Файлы в папке с проектом

Перейдем в GitHub Desktop. И во вкладке Changes вы увидите изменения в проекте: добавилось два новых файла:

Изменения в проекте

Рисунок 44 — Изменения в проекте

В играх вы сталкивайтесь с точками сохранения. Тут за такие точки сохранения отвечают так называемые коммиты. В коммите должно быть название и описание (опционально).

Коммиты лучше называть по-английски, начиная с глагола в начальной форме. К конце названия не должно быть точки. Например, для нашего случая коммит можно назвать Add first files.

Но все эти правила названия необязательны, и можно назвать хоть Я добавил два первых файла, хоть Подушка не может скрыться.

В общем название должно объяснять те изменения, которые вы произвели. Введем название и нажмем кнопку Commit to main:

Создание коммита

Рисунок 45 — Создание коммита

Коммит (точка сохранения) создаться, которая отобразится во вкладке History:

История коммитов с первым коммитом

Рисунок 46 — История коммитов с первым коммитом

Но на GitHub в репозитории изменения не появились, так как коммит был создан только локально. Отправим его на сервер, нажав на кнопку Publish branch:

Отправка коммита на сервер

Рисунок 47 — Отправка коммита на сервер

Данная кнопка так называется только сейчас, так как это наш первый коммит. Потом она будет называться по-другому.

Теперь на сайте GitHub в нашем репозитории появились изменения:

Репозиторий на сайте с первым коммитом

Рисунок 48 — Репозиторий на сайте с первым коммитом

Внесем еще изменения в папке проекте. Для примера создам третий текстовой файл test2.txt с содержимым:

1 + 1 = 2

А содержимое файла test.txt поменяю на следующее:

Первейшая строка.
Вторая строка
Третья строка

То есть я добавил еще один файл, в другом файле в одном месте что-то поменял, а в другом что-то добавил. Перейдем в GitHub Desktop. Увидим изменения. Причем в файле test.txt видим список изменений, что изменения произошли в двух строках. Зеленым обозначены новые строки, а красным — удаленные строки:

Новые изменения

Рисунок 49 — Новые изменения

По аналогии создадим новым коммит, например, с названием Create second test commit.

И в разделе History отобразится новый коммит. Отправим его на сервер, нажав на кнопку Push origin (теперь почти всегда эта кнопка будет так называться):

Отправка коммита на сервер

Рисунок 50 — Отправка коммита на сервер

На сайте с наим репозиторием появятся наши изменения:

Изменения в репозитории на GitHub

Рисунок 51 — Изменения в репозитории на GitHub

Вот так дальше и работаем. В проекте вносим какие-то изменения, создаем коммит, как-то его обзывая, отправляем на сервер.

Конечно, работа с Git не ограничивается этими действиями, но это база.