Стандартный воркфлоу работы с git

Материал из Институт биоинформатики
Перейти к: навигация, поиск

Система контроля версий Git

Workflow работы с репозиторием

Git - это распределенная система контроля версий, используемая для сохранения разных версий проекта и обеспечивающая доступ к ним. Каталог с файлами, составляющими проект, в случае работы с системами контроля версий называется репозиторием. В репозитории хранятся файлы конфигурации репозитория, журналы операций над репозиторием, описание расположения файлов и сами файлы проекта. Бывают локальные и удаленные репозитории для сохранения файлов. Основные команды Git осуществляют взаимодействие пользователя именно с локальным репозиторием. Также Git имеет промежуточное хранилище между редактируемыми файлами и очередным их сохранением в локальный репозиторий - временный локальный индекс файлов. Сохранение файла из индекса в локальный репозиторий осуществляется командой git commit. Добавить файлы в индекс можно с помощью комманды git add. Важно понимать, что команда commit применима только к файлам, добавленным в индекс. Удаленный репозиторий можно синхронизировать с локальным (команды git push и git pull).

Работа с Git

Установка и настройка Git

GitHub — веб-сайт для размещения git-репозиториев и совместной разработки проектов. На этом сайте будет создан ваш репозиторий. Для начала работы необходимо зарегистрироваться на GitHub. После этого, следуя инструкциям для вашей ОС, необходимо установить Git себе на компьютер. На некоторых ОС Linux и Mac OS Git установлен заранее - проверить это можно введя команду "git" в командную строку.

Установка Git на Linux

  • Дистрибутивы, основанные на Fedora:
  $ sudo yum install git-all
  • Дистрибутивы, основанные на Debian:
  $ sudo apt-get install git-all

Установка Git на Windows

Установка Git на Mac OS

  • Установить Xcode Command Line Tools. Для некоторых ОС (например, Mavericks (10.9)), если Git не установлен, при попытке запуска начнется его установка.
  • Использовать загрузчик Git.
  • Установить Git как часть GitHub for Mac

Для создания репозитория на GitHub нужно войти в систему и на главной странице нажать на кнопку "​+ New repository​". Далее нужно заполнить поля Repository name​ (имя вашего репозитория, например "pythoncourse") и Description​ (описание вашего репозитория, например "Repository for python programs"). Оставляем выбранным пункт "​Public​" и проставляем флажок "​Initialize this repository with a README​". Нажимаем кнопку "​Create repository". Созданный репозиторий мы будем в дальнейшем называть главным.

Все команды Git выполняются в командной строке, поэтому пользователям Linux и Mac OS для начала работы достаточно запустить терминал, а пользователям Windows следует использовать утилиту Git Bash. Для создания локальной копии главного репозитория сначала нужно:

  • Linux или Mac OS: запустить терминал и с помощью команды cd перейти в нужный каталог.
  • Windows: перейти в Проводнике в нужный каталог, щелкнуть правой кнопкой мыши в окне каталога и в контекстном меню выбрать пункт "Git Bash​".

Для настройки Git требуется задать имя и email:

  $ git config ­­global user.name "your_name"
  $ git config ­­global user.email your@email.com

После запуска в терминале нужно набрать команду

  $ git clone https://github.com/your_name/repository_name 

В результате в текущем каталоге будет создан подкаталог repository_name, содержащий копию главного репозитория. Для работы с репозиторием необходимо перейти в его каталог командой ​cd test​.

Основные команды для работы с Git

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

  ​$ git add new.py

Теперь можно сохранить изменения в репозитории, сделав коммит:

  $ git commit -­m "description of the commit"

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

  $ git add .
  $ git commit ­-m "dir added" 

Для отправки изменений в главный репозиторий используется команда

  $ git push

Для ее выполнения потребуется ввести ваш логин и пароль от аккаунта на GitHub. Также можно внести изменения в главный репозиторий через GitHub и затем сохранить их в локальной копии главного репозитория командой

  $ git pull

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

Напоследок

В начале вам будет хватать нескольких базовых команд, поэтому не стоит пугаться использования Git. Постепенно открывая новые возможности Git, вы будете получать все более удобный инструмент для работы над проектами. На официальном сайте git вы найдете ссылки на статьи, книги и ресурсы с информацией по Git для пользователей разного уровня. Стоит упомянуть, что разработано много графических интерфейсов для Git [1], а также существует возможность работать с Git из PyCharm [2].

Ссылки

  1. Графические интерфейсы для Git
  2. Интеграция Git в PyCharm