Git? Какой такой мерзавец?
@ivan_osipovАккаунты автора: GitHub
Время чтения: совсем быстро, не более 10 минут
Целевой уровень читателя: Junior (Начинающий)
Хеллоу, ворлд!
С вами авторский канал Джун уронил прод и сегодня мы поговорим о Git и полезных ссылках. Материал ориентирован на начинающих разработчиков, но и опытные ребята могут найти для себя что-то полезное в самом конце.
Сразу к делу
Что такое Git?
Это система контроля версий (VCS). Их (VCS) много и они разные, выбор той или иной на проекте зависит от возраста проекта, требований заказчика и профессионального опыта его техлида (человека, который принимает технические решения). Обычно, разработка ПО ведется с применением VCS. Представьте, что вы пишете книгу и, естественно, хотите сохранять её в процессе, а затем посмотреть историю изменений и даже если вы что-то удалите, то хотите всегда знать, что это можно найти в истории и вернуть. С кодом тоже самое. Тут вам поможет Git. Благодаря отслеживанию файлов и сохранении их разницы мы получаем отличную систему в которой можно проследить все изменения и при этом довольно быстро. При необходимости эти изменения можно сохранять в репозиториях.
Кому полезен Git?
На удивление, Git поможет не только программистам, но и, например, блогерам или писателям, однако, если вы используете Microsoft Office, то у вас вряд ли что-то получится. Сохранить вы, конечно, сохраните, но информация о разнице коммитов будет бесполезна. Лучше всего подходит текстовый формат файлов.
А при чем тут "мерзавец"?
Тут всё просто. Вот здесь мультитран переводит git как "мерзавец".
Что такое репозиторий?
Фактически это место куда вы сохраняете свои файлы. В Git бывают локальные и удаленные репозитории. Есть множество сервисов, где вы можете бесплатно создать собственные удаленные репозитории, например, GitHub, BitBucket или GitLab и при необходимости синхронизировать их с локальными.
Что такое коммит?
Коммит - это набор изменений сохраненных с определенным сообщением и хэшем, т.е. вы всегда можете найти свой коммит в истории, если знаете его хэш, ну или знаете в каком бранче он находится.
Что такое бранч?
Бранч (ветка) - это последовательность коммитов, которые сделаны в ходе реализации проекта. Вы можете ответвлять бранчи, сливать их, переносить коммиты между ними и многое другое. Обычно, ветка по умолчанию в Git называется master.
Как установить Git?
Это сделать очень просто. Скачать Git можно здесь. И пройти стандартный путь установки.

Как работать с Git?
По этому вопросу у вас есть два популярных пути: из консоли и из среды разработки. Например, на борту IDEA уже есть набор средств для работы с Git прямо из среды разработки. В новом проекте, где пока отсутствует использование системы контроля версий вы можете нажать VCS -> Enabling Version Control, где выбрать, например, Git. После этого всё управление происходит либо через меню VCS -> Git, либо в правом нижнем углу среды разработки можно удобно переключать ветки, а также есть специальная панель Version Control, которая покажет всю историю и последние изменения. Как вариант, вы всегда можете воспользоваться консолью/терминалом и коммандой git.
Полезные ссылки
На мой взгляд, один из лучших ресурсов для изучения Git это http://learngitbranching.js.org/ там вы наглядно увидите и поймете как работает Git, поработаете с разными ветками, удаленными репозиториями и тегами, а где-то будет нужно сделать Cherry-Pick. При чем всё это на русском языке.
Вторая ссылка это https://try.github.io место где вы также можете попробовать git и посмотреть как это выглядит в работе.
Я не рекомендую вам тратить деньги на специальные курсы по Git, т.к. для промышленного использования более чем достаточно базовых знаний, а первая ссылка дает значительно больше базовых повседневных знаний и абсолютно бесплатно.
Последняя ссылка, которой я поделюсь, это видео, которое рассказывает о том как работает GitHub на примере тракторов :) , язык - английский, но если это дается трудно, то вы можете включить субтитры. Как по мне у них годный YouTube канал и при желании можно посмотреть еще вот этот плейлист.
Сегодня мы немного поговорили о Git и обсудили зачем он нужен. Я планирую публиковать статьи для разного уровня разработчиков, как для начинающих, так и для практикующих. По этому присоединяйтесь к @djuup в Telegram и до скорых встреч!