Git отслеживает изменения файлов проекта, что позволяет команде работать над ними совместно. Можно вносить изменения и возвращаться к определенной версии отслеживаемых файлов в любой момент времени. Эта система используется большинством компаний для эффективной организации совместной работы, где каждый программист может пользоваться размещенной на собственном компьютере версией проекта. Эти индивидуальные версии могут быть слиты (merged ) и включены в основную ветку разработки.
1. Установите Git
Git в основном используется через утилиты командной строки, которые запускаются из эмуляторов терминалов (в Windows Win+R
и наберите cmd; в Linux – Ctrl+Alt+T
; в MacOS – Command+Space
и наберите Terminal) или из текстовой консоли. Конечно, сначала нужно установить Git.
Вы можете скачать Git здесь: https://git-scm.com/downloads. В Linux лучше воспользоваться менеджером пакетов из вашего дистрибутива.
Нажмите на ссылку загрузки для вашей операционной системы, а затем следуйте указаниям мастера установки. Установка интуитивно понятна и проста, поэтому проблем возникнуть не должно.
После установки запустите терминал и введите следующую команду, чтобы убедиться, что Git готов к использованию:
git --version
Если установка прошла успешно, он должен вернуть версию Git, установленную на вашем компьютере.
Настройка имени и электронной почты пользователя
В терминале запустите следующие команды:
git config --global user.name "имя" git config --global user.email "почта@email.com"
Замените значения внутри кавычек своим именем и адресом электронной почты.
2. Создайте репозиторий
Репозитории Git – это некие контейнеры для отслеживаемых проектов.
Их можно разделитить на два основных типа:
Локальный репозиторий (local repository) хранится на вашем компьютере, где вы можете работать над локальной версией проекта.
Удаленный репозиторий (remote repository) хранится вне вашей локальной системы, обычно на неком сервере. Это позволяет разработчикам делиться кодом.
Чтобы создать новый репозиторий и начать отслеживать проект с помощью Git, в терминале откройте главную папку проекта и наберите следующую команду:
git init
Эта команда создаст скрытый каталог .git для вашего проекта, в котором хранятся все внутренние данные для отслеживания репозитория.
3. Подготовьте файлы и научитесь делать коммиты
Запись изменений или коммиттинг – это процесс, в ходе которого изменения фиксируются в репозитории Git. Коммиты позволяют сохранять историю изменений в проекте, а также возвращаться к предыдущим версиям.
Проверка статуса
Чтобы проверить статус репозитория, наберите следующую команду, находясь в каталоге проекта:
git status
Изменений не было.
Эта команда показывает состояние данных: она отображает неотслеживаемые файлы, внесенные в отслеживаемые файлы изменения, а также сообщает, какую ветку проекта вы используете и показывает, не расходится ли она с веткой на сервере.
В папку был добавлен файл, но он не добавился в локальный репозиторий.
Подготовка к коммиту
Перед совершением коммита файлы необходимо подготовить, т. е. поместить их в некую область хранения (staging area ). Для этого используется команда git add
.
Можно добавить только один определённый файл:
git add file.cs
Можно добавить несколько файлов:
git add file.cs anotherfile.cs onemorefile.cs
Можно добавить все файлы проекта сразу:
git add .
Коммит
Коммит – это снимок кода в определенный момент времени, который сохраняется в истории коммитов репозитория. После добавления всех отслеживаемых файлов с помощью команды git add
, можно совершить коммит:
git commit -m "Сообщение коммита"
Сообщение коммита используется для его идентификации в истории коммитов. Оно должно кратко описывать совершенные вами изменения.
4. Посмотрите историю коммитов
Чтобы увидеть все коммиты проекта, используйте следующую команду:
git log
Будет показана подробная информация по каждому коммиту: имя автора, сгенерированный хеш для коммита, дата и время коммита, а также его текст.
Чтобы вернуться к зафиксированному одним из коммитов состоянию кода проекта, вы можете используйте следующую команду:
git checkout <хеш коммита>
Замените <хеш коммита> на фактический хеш конкретного коммита, который вы хотите просмотреть.
Чтобы вернуться к последнему коммиту (актуальной версии кода проекта), введите команду:
git checkout master
5. Настройте игнорирование файлов
Если вы не хотите отслеживать или добавлять в область хранения определённые файлы, можно создать файл .gitignore в основной папке проекта.
Внутри него перечислите имена файлов и папок, которые вы не хотите отслеживать (каждый игнорируемый файл и папка должны быть указаны с новой строки).
6. Изучите ветвление
Ветвь или ветка – одна из версий репозитория, которая отличается от основного рабочего проекта или от других версий. С помощью Git мы можем создавать множество таких альтернативных ветвей, чтобы другие версии кода проекта существовали и отслеживались параллельно.
Это позволяет нам добавлять новые (экспериментальные, незавершенные и потенциально опасные) функции в отдельных ветках, не трогая официальную стабильную версию кода, которая обычно хранится в ветке мастер (master).
Когда мы инициализируем репозиторий и начинаем делать коммиты, они по умолчанию сохраняются в ветке мастер.
Создание новой ветви
Вы можете создать новую ветвь с помощью команды:
git branch <название новой ветви>
Созданная ветвь станет ссылкой на текущее состояние вашего репозитория.
Смена ветвей
Для перехода к другой ветке, используйте команду:
git checkout <название ветви>
Вы можете работать над различными функциями и иметь отдельную ветвь кода проекта для каждой из них. Таким способом в коде фиксируются изменения, которые затрагивают только эту ветвь. Затем вы можете переключиться на другую, на которую сделанные изменения не повлияют.
Чтобы посмотреть список ветвей проекта, используйте команду:
git branch
Чтобы вернуться к мастер-ветви, используйте команду:
git checkout master
По команде git checkout -b <название>
создается новая ветка и сразу же делается переход к ней.
Слияние ветвей
Вы можете объединить ветви, если хотите внедрить сделанные в одной из них изменения кода в другую.
Например, если вы полностью реализовали и протестировали новую функцию, стоит внедрить эти изменения в стабильную ветку проекта.
Для этого используется следующая команда:
git merge <название>
Производим изменения и подготавливаем ветку к слиянию.
Проводим слияние.
В <название>
нужно вписать название ветви, которую вы хотите интегрировать в текущее ответвление.
Удаление ветви
Для удаления ветви используется команда:
git branch -d <название ветви>
Дальнейшее изучение
Официальная документация Git: https://git-scm.com/doc.
Дополнительные материалы:
Про Git, Github и Gitflow простыми словами
Git для начинающих: основы рабочего процесса и базовые команды
10 полезных Git команд, которые облегчат работу
Cистема контроля версий Git: расширенная шпаргалка
Ветвление Git с примерами из реальной жизни
Сравнение 5 команд Git: revert, checkout, reset, merge и rebase
Полезные советы для начинающих Git-разработчиков