Установка Git + GitHub Desktop и работа с ними
В статье рассказывается, как новичку установить Git и начать с ним работать через GitHub.
📖 Содержание ⬇️
Содержание
В этой статье не рассказывается подробно о технологии Git и его возможностях. Для этого есть официальный учебник и множество других ресурсов.
Установка Git
Скачиваем установщик на сайте https://git-scm.com/:

Рисунок 1 — Скачивание установщика под Windows
Не бойтесь непонятных пояснений, которые будут встречаться в процессе установки.
Запускаем установку:

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

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

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

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

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

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

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

Рисунок 9 — Настройка SSH
Опять таки стандартная настройка работы с SSL нас устроит:

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

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

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

Рисунок 13 — Выбор поведения Git pull
Систему аутентификации пользователей Git также берем по умолчанию:

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

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

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

Рисунок 17 — Окончание установки
Теперь Git установлен на вашем компьютере, и через консоль вы можете полноценно работать с ним. Но мы же хотим работать со связкой с GitHub, поэтому перейдем к нему.
Создание учетки в GitHub
GitHub и Git — это разные вещи. GitHub — это сайт, где вы можете размещать проекты с использованием Git + всякие плюшки самого GitHub.
Итак, переходим на сайт https://github.com/ и переходим по ссылке Sign up:

Рисунок 18 — Главная страница сайта GitHub
Создание нового аккаунта стало гораздо проще, чем было до этого.
Вводим свой 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:

Рисунок 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:

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

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

Рисунок 33 — Авторизация GitHub Desktop
После успешной авторизации выбираете правильную почту и нажмите кнопку Finish:

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

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

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

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

Рисунок 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 — Отправка коммита на сервер
На сайте с наим репозиторием появятся наши изменения:

Рисунок 51 — Изменения в репозитории на GitHub
Вот так дальше и работаем. В проекте вносим какие-то изменения, создаем коммит, как-то его обзывая, отправляем на сервер.
Конечно, работа с Git не ограничивается этими действиями, но это база.