Mercurial
Mercurial (http://mercurial.selenic.com/) написан на Python. Научиться пользоваться
им довольно легко, он имеет множество подкоманд для загрузки кода из репозито-
рия Mercurial, добавления файлов, проверки на наличие изменений и объединения
изменений из разных источников. bitbucket (https://bitbucket.org/) и другие сайты
(http://bit.ly/merc-host) предлагают бесплатный или коммерческий хостинг.
376
Глава 12. Быть питонщиком
Git
Git (http://git-scm.com/) изначально создавался для разработки ядра Linux, но теперь
является доминирующим в области открытого исходного кода в целом. Он похож
на Mercurial, хотя некоторые считают, что обучиться ему сложнее. GitHub (http://
github.com/) — это самый крупный хостинг для git, содержащий более миллиона ре-
позиториев, но существует и множество других хостов (http://bit.ly/githost-scm).
Отдельные примеры программ из этой книги доступны в публичном репозито-
рии git на GitHub (https://github.com/madscheme/introducing-python). Если у вас уста-
новлена программа git, вы можете загрузить их с помощью следующей команды:
$ git clone https://github.com/madscheme/introducing-python
Вы также можете загрузить код, нажав на следующие кнопки на странице GitHub:
Clone in Desktop (Клонировать на Рабочий стол), чтобы открыть версию git, уста-
новленную на ваш компьютер;
Download ZIP (Загрузить архив), чтобы получить архивированную версию про-
грамм.
Если у вас нет git, но вы хотите попробовать с ним поработать, прочтите ин-
струкцию по установке (http://bit.ly/git-install). Здесь я буду говорить о версии с ко-
мандной строкой, но вам могут быть интересны сайты вроде GitHub, предоставля-
ющие дополнительные услуги, которые в некоторых случаях использовать было
бы проще: git имеет много возможностей, но не всегда интуитивно понятен.
Проведем тест-драйв. Далеко уходить не будем, просто посмотрим, как работа-
ют некоторые команды.
Создадим новую папку и перейдем в нее:
$ mkdir newdir
$ cd newdir
Создадим локальный репозиторий git в текущей папке newdir:
$ git init
Initialized empty Git repository in /Users/williamlubanovic/newdir/.git/
Создадим в папке newdir файл с кодом, который называется test.py, содержащий
следующее:
print('Oops')
Добавим файл в репозиторий git:
$ git add test.py
Что вы об этом думаете, мистер git?
$ git status
On branch master
Управление исходным кодом
377
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)