что такое коммит github

Git для начинающих. Урок 4.
Коммиты и история коммитов
Работа с файлами

Видеоурок. Часть 1. Практика, основы работы с коммитами и историей коммитов

Видеоурок. Часть 2. Практика, дополнительные приемы и фишки

Видеоурок. Часть 3. Общие наблюдения и советы. Как делать «хорошие» коммиты

Конспект урока

Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.

Что такое коммит

По-научному это сохранение состояния, фиксация или слепок изменений.

Как сделать коммит

Представим, что мы добавляем блок учеников на сайт. Добавляем новую разметку в index.html и новые стили в main.css. Чтобы сохранить изменения, нужно их закоммитить. Но предварительно сообщить git, какие именно файлы мы хотим положить в коммит. Команда git add добавляет (или подготавливает) файлы к коммиту. Можно добавить файлы по отдельности, вот так

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

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

Состояние файлов в git. Измененные и подготовленные файлы

Подготовленные файлы отличаются от измененных тем, что они «подготовлены» к коммиту, то есть будут добавлены в следующий коммит.

git add filename добавляет или подготавливает файл к коммиту.
git reset filename удаляет файл из подготовленных к коммиту.

Содержимое файлов при этом не меняется. Один файл может одновременно находиться и в измененных, и в подготовленных. Это происходит, если мы добавили файл, но не закоммитили и продолжили делать в нем измения.

Из чего состоит коммит

Каждый коммит имеет

Как добавить файлы и сделать коммит одной командой

Отслеживаемые и неотслеживаемые файлы

История коммитов, git log

Все коммиты можно посмотреть в истории коммитов. История хранит все данные обо всех коммитах проекта. Показывается история командой

История включает в себя все сведения о коммитах: хэш, автор, дата и список изменений. Список изменений смотреть командой git show по хэшу коммита

Если мы сделали коммит, но хотим поправить его commit message

Эта команда перезапишет сообщение последнего коммита. Это перезаписывание истории, операция опасная. Лучше делать ее только до того, как отправили коммит на сервер (push разберем через урок)

Откат коммитов, git revert

Если мы сделали неверный коммит и хотим откатить изменения, сделанные в нем, то поможет команда git revert

Работа с файлами

При работе с файлами нужно учесть, что новые файлы git отправляет в неотслеживаемые. Поэтому при добавлении нового файла стоит сначала его закоммитить, а потом вносить изменения, чтобы они были доступны через git diff

При обычном переименовании файла в файловом менеджере или командой mv git сначала показывает 2 файла: старый удаленный и новый неотслеживаемый. Чтобы git понял, что этот файл именно переименованный, нужно сначала добавить эти файлы в подготовленные к коммиту

Тогда при команде git status файл будет отображаться именно как переименованный

Можно избежать этого промежуточного состояния, если переименовать файл в командной строке таким образом

Тогда файл будет сразу отображаться, как переименованный. То же самое с удалением файла

Командная строка vs IDE

Работа в PhpStorm продемонстрирована в первых двух частях видео.

Как и в прошлом уроке мы видим, что некоторые вещи удобнее делать в IDE. Например, процесс добавления файлов (git add) в PhpStorm при создании коммита почти не привлекает внимания. Но важно понимать, что такое git add и зачем он нужен. И что любая IDE под капотом все равно выполняет базовые команды git. Просто для нас предоставляется удобная обертка, чтобы мы больше сосредоточились на самом проекте, а не на git.

Наблюдения и советы при работе с коммитами

В каждой команде свои правила и соглашения. Но я приведу общие советы и размышления, которые помогут в любом проекте

Используйте удобные инструменты в IDE, но не забывайте командную строку. В ней вы лучше будете понимать, как устроен git, как он работает

Хорошие и плохие коммиты

С точки зрения git коммиты не бывают плохими и хорошими. Но есть удачные и неудачные подписи к коммитам с точки зрения наших коллег. Несколько примеров

Добавлен файл VipClient
Работа с vip-клиентами вынесена в отдельный класс
По первому коммиту можно предположить, что в VipClient мы скорее всего работаем с ВИПами. Во втором коммите это точно понятно, плюс дополнительная информация, что это отдельный класс.

Поправлены стили в main.css
Рефакторинг стилей в main.css
Первый коммит говорит о правке стилей, но непоянтно, что именно поправлено. Бага? Новые значения? Изменен цвет текста по рекомендации дизайнера? Второй коммит ясно указывает, что это рефакторинг

Маленький фикс
Исправлена опечатка в заголовке title страницы «О компании»
Коммит «маленький фикс» даже приблизительно не говорит, в чем он заключается. Второй коммит дает полное представление

Немного о философии коммитов

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

Мы больше думаем о том, что мы работаем не одни, а в команде. История коммитов общая для всего проекта. Чем лучше мы научимся формировать и подписывать коммиты, тем легче будет ориентироваться в истории нам самим и нашим коллегам.

В любом проекте важны не только код и его структура, но и история коммитов и хорошие commit message.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

На этом все. В следующем уроке мы будем больше работать с историей коммитов и посмотрим различные варианты использования команды git log

Источник

Гит-словарик для начинающих программистов

Мёржим бранчи и коммитим реквесты

Мы часто упоминаем Git — способ организации хранения и контроля версий файлов в рабочем проекте. Сегодня расскажем о странных словах: «бранч», «коммит», «пулл-реквест» и об остальных понятиях в гите.

О чём речь

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

Главная особенность гита — он помнит всё, что вы в него внесли, и может показать, какие именно строчки вы правили несколько лет назад, когда чинили ошибку авторизации, например.

На базе гита есть сервис «Гитхаб». Работает так:

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

Это если вкратце. Теперь будут подробности.

Что такое репозиторий (git repository)

Гит-репозиторий — это облачное хранение вашего проекта на сервере (например, на сервере Гитхаба, но можно и на другом).

У каждого программиста может быть сколько угодно репозиториев, по одному на каждый проект. А можно вести все проекты в одном репозитории, но тогда это превратится в мешанину. Но каждый имеет право на мешанину.

В репозитории могут храниться:

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Что такое бранч (git branch)

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

В гит-репозитории всегда есть как минимум один бранч, который называется master. Если не создавать других веток, то все изменения будут сразу идти в главную ветку проекта. Для очень маленьких или учебных проектов это терпимо, но в любом коммерческом коде поступают иначе: создают ветки.

Дело в том, что ветка master используется для выпуска новых версий проекта, которые будут доступны всем. То, что добавляется в мастер-бранч, сразу становится доступно пользователям.

Но представьте такую ситуацию: мы только что запустили сайт для заказчика и он срочно хочет добавить интерактивный раздел со скидками. Можно сделать так: править рабочие файлы проекта «по живому», чтобы сразу видеть результат. А можно сделать из мастера отдельную ветку news и работать уже в ней (и это очень похоже на форк). В этом случае мы получим полную копию проекта, в которую можно вносить любые правки и они никак не повлияют на запущенный сайт. Мы в этой ветке пилим всё, что нужно клиенту, показываем ему результат на секретном сайте, а потом объединяем её с мастером. Это называется «смёржить бранчи».

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Что такое клонирование (git clone)

Клонирование — это когда вы копируете репозиторий себе на жёсткий диск. Это нужно, чтобы начать в нём что-то менять.

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

А если просто скопировать нужные файлы с чужого компьютера, то никаких историй и никаких связей не сохранится. Синхронизации не будет. Просто какие-то файлы.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Что значит «смёржить» (git merge)

Смёржить (от англ. merge — объединять, совмещать) — это когда мы отправляем всё, что сделали в одной ветке, в другую. Весь новый код, исправления ошибок, дополнительные функции — всё это отправится в новую ветку. Если же мы что-то удалим в коде, то при объединении этот фрагмент тоже удалится из основной ветки.

Получается, что схема работает так:

Что такое коммит (git commit)

Программировать только в облаке неудобно — проще скачать себе на компьютер весь проект и писать код на своей машине. Но чтобы правки увидели остальные, их нужно отправить обратно в репозиторий. Это и есть коммит.

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

Например, вы изменили файл главной страницы index.html и добавили его в список файлов текущего коммита. Теперь его можно отправить на сервер, а можно ещё поправить сразу style.css и внести в этот же коммит. Системе всё равно, сколько файлов обрабатывать, поэтому как и что коммитить — решает программист.

Единственное требование к коммитам — указывать, что именно вы поменяли в проекте, человеческим языком. Хорошим тоном и правильным подходом считается писать, что именно вы изменили: «Добавил цвет и стили основной кнопки», «Убрали метод вызова старого API», «Сделали рефакторинг функции SetOutOfDate()». Это описание будут читать другие разработчики.

Коммитить можно хоть после правки каждой строчки — весь вопрос в том, насколько нужна такая детализация в проекте. Но иногда и изменения из одной строчки можно закоммитить, если оно действительно важное.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Что такое пуш- и пулл-реквесты (git push, git pull)

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

Иногда бывает так, что сервер отказывает в пуш-реквестах, потому что у программиста на компьютере была неактуальная ветка. За то время, пока он писал свои правки, другие программисты сделали несколько изменений, закоммитили их у себя и отправили на сервер. Получилось, что у одних эта ветка осталась свежей и актуальной, а у других она устарела. Чтобы не принимать пуш-реквесты из устаревших веток, гитхаб просит сначала обновить данные у себя на комьютере с помощью пулл-реквеста.

Пулл-реквест работает просто: он скачивает с сервера актуальную версию ветки и добавляет код оттуда вам на компьютер. Иногда этот код вступает в противоречие с тем, что уже успел сделать программист, и тогда возникает конфликт — нужно принять решение, какая версия одинакового кода останется в проекте, а что нужно будет убрать.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Чем коммит отличается от пуш-реквеста

Коммит — это когда вы фиксируете изменения в проекте, как бы подводите итог своей работе.

Пуш — это когда вы отправляете сделанную работу туда, где хранится копия вашего кода.

Получается, последовательность действий такая:

Что дальше

Чтобы все эти бранчи и реквесты стали понятнее, в следующий раз сделаем вот что: заведём учебный проект на Гитхабе и будем работать с ним так, как делают настоящие программисты.

Источник

Первый коммит в Github

Руководство по созданию первого коммита в свой репозиторий на Github

В этом мануале представлены основные сведения об инструментах контроля версий программного обеспечения и рассмотрен алгоритм создания локального репозитория, связанного с удалённым.

Основы

GitHub — онлайн-хостинг репозиториев, обладающий всеми функциями системы контроля версий и функциональностью управления (в него входит всё то, что поддерживает Git). Вместе с Git он даёт разработчикам возможность сохранять их код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.

Git — это инструмент, позволяющий реализовать распределённую систему контроля версий.

GitHub — это сервис для проектов, использующих Git.

Создать коммит (commit) значит зафиксировать изменения любых файлов, входящих в репозиторий.

Репозиторий — каталог файловой системы, в котором могут находится: файлы журналов конфигураций и операций, выполняемых над репозиторием, а также сами контролируемые файлы.

Репозиторий бывает:

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

Установка Git

Для Linux:

1. Откройте терминал и перейдите в желаемую директорию для установки.
2. Введите: sudo apt-get install git

Для macOS:

1. Воспользуемся homebrew
2. Вводим в терминале: brew install git

Для Windows, (для macOS и Linux — альтернатива):

1. Перейдите по ссылке: http://git-scm.com/downloads
2. Выберите нужный пакет и следуйте дальнейшим инструкциям.

Далее работа с Git будет выполняться в терминале Bash, который станет доступен на любой ОС после установки Git. Так вы будете лучше понимать устройство работы с системами контроля версий и возможности графического клиента ограничены по сравнению с консольным.

Создание и настройка локального репозитория

Пусть наш проект имеет путь в файловой системе Users/Public/Project. Перед созданием локального репозитория желательно удалить все ненужные, временные файлы в папке проекта.

2. Настроим имя пользователя и адрес электронной почты:

(где Name – логин пользователя, email@mail.ru — почта)

Теперь каждое наше действие будет отмечено именем и почтой, это вносит порядок в историю изменений.

tree – команда для просмотра древовидной структуры файловой системы, в которой мы находимся.

find – удаление файлов со специфичным суффиксом.

3. Переходим в папку с проектом Users/Public/Project:

4. Создадим локальный репозиторий в папке с проектом:

Командная строка должна вернуть что-то вроде:

Добавление файлов в локальный репозиторий

1. Теперь создадим любой файл в нашей директории, например, first.txt

2. Добавим его в систему управления версиями:

3. Если нужно добавить все файлы в директории, то используем:

4. Проверить текущее состояние:

Можно отменить добавление файла командой:

Создание версии проекта

После добавления нужного файла в staging area (область подготовленных файлов) можно создать версию проекта.

Ключ –m означает создание пользователем описания этого коммита.

Для удаления всеx файлов в папке, не относящихся к проекту, и не сохраненных в репозитории, можно воспользоваться командой:

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

Все действия до этого раздела производились над локальным репозиторием, который находится у вас на компьютере. Если мы хотим сохранить проект в Интернете, и предоставить к нему доступ, то создадим репозиторий на Github.

1. Регистрируемся на сайте: github.com под именем nikname (может быть любым другим).

2. Нажимаем кнопочку «+» и вводим название репозитория.

3. Выбираем тип Public (Private доступен только в платной версии).

4. Нажимаем Create.
В результате создан репозиторий в Github (на экране видим инструкцию, по соедининению локального репозитория со вновь созданным).

5. Добавляем удаленный репозиторий (по протоколу SSH) под именем origin (желательно использовать его, но можно любое другое, главное – не master – оно используется в момент релиза версии).

Результат можно увидеть с помощью команды:

Если все правильно сделано, то увидим:

Для отмены регистрации удаленного репозитария, введите:

Этой командой вносятся все изменения, которые были сделаны в локальном репозитории на Github:

-u ключ установления связи между удаленным репозиторием github и веткой master. Все дальнейшие изменения переносятся на удаленный репозиторий следующей командой: git push

Источник

GitHub

GitHub — это сервис для совместной разработки и хостинга проектов. C помощью GitHub над кодом проекта может работать неограниченное количество программистов из любых точек мира. В GitHub есть система контроля (управления) версий Git: сервис позволяет просматривать и контролировать любые изменения кода любым разработчиком и возвращаться к состоянию до изменений.

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

Проекты в GitHub

Проект в GitHub хранится в репозитории (repository) — коллекции всех изменений создаваемого кода. Если вы будете работать над проектом в одиночку — вам нужно создать новый репозиторий. Если в вашем проекте несколько разработчиков — каждый из них будет клонировать репозиторий первоначального создателя проекта.

Внутри репозитория изменения кода хранятся в виде веток и коммитов.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Коммит (commit) — основной объект разработки, в котором хранятся все изменения кода за итерацию. По сути, это список со всеми актуальными изменениями и ссылка на предыдущую версию коммита. У каждого коммита есть атрибуты: имя, дата создания, автор и комментарии к текущей версии (например, «Создал страницу courses.html» при разработке сайтов с видеокурсами).

Ветка (branch) — указатель на коммит с определенными изменениями. Например, два разработчика взяли коммит, и каждый из них сделал свои изменения в коде, создав по новому коммиту («Создал страницу coursеs.html c личным кабинетом» и «Создал страницу courses.html со свободным доступом на курсы»). Так в проекте появились две ветки с разным кодом: разработчик может выбрать, над каким коммитом ему работать дальше.

Основной веткой проекта, как правило, считается ветка main или master — разработчики создают новые ветки на ее основе. Также можно создать неограниченное количество веток, чтобы вносить новые изменения, не мешая основному проекту.

Слияние веток

Часто разработчики делают параллельные изменения кода. Например, один разработчик работает над внешним видом сайта, а другой занимается размещением контента на нем. По окончании работы ветки каждого из них можно объединить в одну, чтобы создать коммит со всеми внесенными разработчиками изменениями.

Для этого в Git используют функцию pull request (pr). Pull request — это заявка на слияние кода из разных веток. В процессе слияния Git создаст коммит и покажет все изменения в файле кода: добавленные до разветвления строки подсветятся зеленым цветом, удаленные — красным. Так каждый из разработчиков и менеджер проекта увидят, что произошло с кодом после совместной работы над коммитом. Перед окончательным слиянием (merge) все разработчики должны просмотреть изменения кода (code review) и принять их.

Изучите с нуля алгоритмы и структуры данных, поработайте с Git и станьте востребованным специалистом. Дополнительная скидка 5% по промокоду BLOG.

Процесс pull request

Теперь посмотрим на процесс со стороны владельца проекта, который получил новый pull request. Владельцу нужно его обработать и объединить ветку sme-review с master.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Пример ревью кода, где есть разрешение на слияние в главную ветку

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Пример ревью кода, где нет разрешения на слияние

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Ревью кода

Ревью кода (code review) — процесс обсуждения изменений кода после совместного создания коммита и перед окончательным слиянием. В ревью разработчики оставляют комментарии к строкам с измененным кодом, а в случае ошибок или упущенных моментов предлагают решения по улучшению кода.

После ревью разработчики должны закрыть комментарии и принять предлагаемые изменения (функция approve). Git объединит ветки с помощью функции merge и перенесет созданный коммит в основную ветку main. В истории коммитов останется отметка о проведенном слиянии веток.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Как учиться работе в GitHub

GitHub — самый популярный сервис для разработки проектов в команде и хранения портфолио собственных проектов. Научиться работе с Git и GitHub необходимо каждому разработчику. Вот несколько материалов, которые помогут новичкам в разработке освоить GitHub:

Освойте перспективную профессию с нуля за 14 месяцев.

Источник

GitHub: работа с ветками и коммитами

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

В предыдущих статьях мы рассказывали, что такое GitHub, как его настроить и как опубликовать свой проект. Но это лишь малая часть его инструментов. Одним из ключевых моментов для GitHub является работа с ветками — разбираемся с ними в этой статье.

Ветка (branch) — это история коммитов. Давайте сначала разберемся, что это такое.

Коммит (commit) — это информация об измененных файлах. Коммит состоит из автора коммита, измененных файлов, HEAD и времени. Для примеров мы будем использовать репозиторий и сделаем первый коммит, который отправим на сервер. Он нужен для того, чтобы разграничивать задачки. Так будет понятно, какой код в истории относится к той или иной задаче, чтобы потом мы могли быстро понять суть.

Например, у нас задача — сделать блок формы. Для этого мы сделаем нужные изменения в файле index.html & style.css, и даже через месяц сможем при помощи истории изменений просмотреть измененные куски кода именно для этого блока.

При помощи команды git log в консоли мы можем отслеживать историю коммитов в ветке.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

На самом GitHub мы можем увидеть последний коммит в файле и последний коммит в ветке. Всю историю мы можем просмотреть, кликнув по кнопке n commits, где n — количество запущенных на сервер коммитов. У нас в ветке пока что один коммит, поэтому на ссылке надпись 1 commit.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Сама история будет выглядеть как список коммитов без подробностей об изменённых файлах. Здесь давайте подробнее остановимся на том, что такое HEAD коммита. Это специальный указатель, при помощи которого вы можете гибко управлять коммитами — например, склеивать или сбрасывать до нужного момента.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если вы кликните по сообщению в коммите, в нашем случае это add first commit, то попадёте в список всех изменённых файлов.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

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

В нашем примере мы изменим содержание страницы index.html и добавим стили в style.css.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Изменения, не включенные в коммит, мы можем просмотреть при помощи команды git status.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Чтобы добавить файлы в коммит, мы будем использовать git add. Здесь мы можем указать нужные нам файлы для коммита, например, index.html. Если после этого мы сделаем git status, то эти файлики подсветятся зелёным — это означает, что мы можем добавить их к коммиту.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если мы запушим наш результат на GitHub, то увидим наш коммит.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

После того, как мы поменяли наш коммит локально, запушим его на сервер при помощи ключа force. Обычный push не сработает, так как у нас уже есть коммит на сервере — здесь будьте аккуратны, ведь вы меняете историю не только локально, но и удалённо.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Теперь поговорим про ветки (branch). Ветка — это история изменений. Сейчас у в репозитории одна ветка main, в которой хранится стабильная версия. Как правило, новые задачи делаются в новых ветках, а потом вливаются в main после ревью кода.

Посмотрим, как выглядит наша ветка с двумя коммитами в графике.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Ветки можно просматривать при помощи команды git branch.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Пробежимся git log и сравним наши ветки.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Тем не менее, если мы зайдем на GitHub, то обнаружим, что у нас там только одна ветка — main. Так происходит, потому что ветка form-index существует пока только на нашем компьютере, то есть локально.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Чтобы наша новая ветка появилась на сервере, нам нужно запушить наши изменения.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если посмотрим на историю коммитов в form, то увидим, что она отличается от main на один коммит.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Мы можем создавать новые ветки не только из main, но и из других веток — так делают редко. Самое главное здесь понять, что если мы создали новую ветку из другой ветки, то мы наследуем историю коммитов ветки, из которой создали ветвление, но только в момент создания.

Давайте создадим ветку form-index-fix и посмотрим на историю коммитов в ней.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Теперь поэкспериментируем и посмотрим, что будет, если мы внесём изменение в ветку и забудем их закоммитить: обычный механизм через checkout не сработает, консоль попросит закоммитить изменения.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если ветку нужно удалить на сервере, то сделать это можно при помощи интерфейса GitHub — нет рекомендаций, когда нужно удалять удалённые ветки.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Команды для консоли

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

В предыдущих статьях мы рассказывали, что такое GitHub, как его настроить и как опубликовать свой проект. Но это лишь малая часть его инструментов. Одним из ключевых моментов для GitHub является работа с ветками — разбираемся с ними в этой статье.

Ветка (branch) — это история коммитов. Давайте сначала разберемся, что это такое.

Коммит (commit) — это информация об измененных файлах. Коммит состоит из автора коммита, измененных файлов, HEAD и времени. Для примеров мы будем использовать репозиторий и сделаем первый коммит, который отправим на сервер. Он нужен для того, чтобы разграничивать задачки. Так будет понятно, какой код в истории относится к той или иной задаче, чтобы потом мы могли быстро понять суть.

Например, у нас задача — сделать блок формы. Для этого мы сделаем нужные изменения в файле index.html & style.css, и даже через месяц сможем при помощи истории изменений просмотреть измененные куски кода именно для этого блока.

При помощи команды git log в консоли мы можем отслеживать историю коммитов в ветке.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

На самом GitHub мы можем увидеть последний коммит в файле и последний коммит в ветке. Всю историю мы можем просмотреть, кликнув по кнопке n commits, где n — количество запущенных на сервер коммитов. У нас в ветке пока что один коммит, поэтому на ссылке надпись 1 commit.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Сама история будет выглядеть как список коммитов без подробностей об изменённых файлах. Здесь давайте подробнее остановимся на том, что такое HEAD коммита. Это специальный указатель, при помощи которого вы можете гибко управлять коммитами — например, склеивать или сбрасывать до нужного момента.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если вы кликните по сообщению в коммите, в нашем случае это add first commit, то попадёте в список всех изменённых файлов.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

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

В нашем примере мы изменим содержание страницы index.html и добавим стили в style.css.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Изменения, не включенные в коммит, мы можем просмотреть при помощи команды git status.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Чтобы добавить файлы в коммит, мы будем использовать git add. Здесь мы можем указать нужные нам файлы для коммита, например, index.html. Если после этого мы сделаем git status, то эти файлики подсветятся зелёным — это означает, что мы можем добавить их к коммиту.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если мы запушим наш результат на GitHub, то увидим наш коммит.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

После того, как мы поменяли наш коммит локально, запушим его на сервер при помощи ключа force. Обычный push не сработает, так как у нас уже есть коммит на сервере — здесь будьте аккуратны, ведь вы меняете историю не только локально, но и удалённо.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Теперь поговорим про ветки (branch). Ветка — это история изменений. Сейчас у в репозитории одна ветка main, в которой хранится стабильная версия. Как правило, новые задачи делаются в новых ветках, а потом вливаются в main после ревью кода.

Посмотрим, как выглядит наша ветка с двумя коммитами в графике.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Ветки можно просматривать при помощи команды git branch.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Пробежимся git log и сравним наши ветки.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Тем не менее, если мы зайдем на GitHub, то обнаружим, что у нас там только одна ветка — main. Так происходит, потому что ветка form-index существует пока только на нашем компьютере, то есть локально.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Чтобы наша новая ветка появилась на сервере, нам нужно запушить наши изменения.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если посмотрим на историю коммитов в form, то увидим, что она отличается от main на один коммит.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Мы можем создавать новые ветки не только из main, но и из других веток — так делают редко. Самое главное здесь понять, что если мы создали новую ветку из другой ветки, то мы наследуем историю коммитов ветки, из которой создали ветвление, но только в момент создания.

Давайте создадим ветку form-index-fix и посмотрим на историю коммитов в ней.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Теперь поэкспериментируем и посмотрим, что будет, если мы внесём изменение в ветку и забудем их закоммитить: обычный механизм через checkout не сработает, консоль попросит закоммитить изменения.

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

что такое коммит github. Смотреть фото что такое коммит github. Смотреть картинку что такое коммит github. Картинка про что такое коммит github. Фото что такое коммит github

Если ветку нужно удалить на сервере, то сделать это можно при помощи интерфейса GitHub — нет рекомендаций, когда нужно удалять удалённые ветки.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *