Github tutorial
От: Ziaw Россия  
Дата: 08.07.11 20:15
Оценка: 329 (7)
#Имя: FAQ.nemerle.Github
Небольшая вводная.

Установка GitExtensions


Качаем последний релиз отсюда http://code.google.com/p/gitextensions/downloads/list
Надо качать "Windows installer, complete including MSysGit and KDiff3 Featured"

Устанавливайте все. И msysgit и kdiff3 (для мерджа можно использовать и другие тулзы, но ставьте пока kdiff3, сменить всегда успеете).

Select SSH client — openssh (можете выбрать putty, но я не вижу ни одного его преимущества, только недостатки)

Установка гита запустится автоматически.

Первая опция — PATH, пока не починю GitVersion лучше использовать git and unix tools (на предупреждение не смотрите, виндовые утилиты так и останутся, они в PATH прописаны раньше юниксовых).
Вторая — line endings. Checkout as is commit unix stile (исправлено VladD2).

Теперь запускаем GitExtensions из start menu. Он должен попросить вас прописать имя и пароль в конфигурацию. Пишите. Язык рекомендую сменить на английский. Гитовские термины в переводе на русский выглядят, мягко говоря, непривычно.

Настройка доступа к GitHub


Ее лучше производить из командной строки git bash (если unxtools в path можно и из фара). Гитовский шелл запускается из start menu (Git\Git Bash) или нажатием Ctrl+G в Git ext.

Генерируем ключ для доступа на гитхаб. Запускаем ssh-keygen и нажимаем enter на все вопросы.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Alex/.ssh/id_rsa):<Enter>
Created directory '/c/Users/Alex/.ssh'.
Enter passphrase (empty for no passphrase):<Enter>
Enter same passphrase again:<Enter>
Your identification has been saved in /c/Users/Alex/.ssh/id_rsa.
Your public key has been saved in /c/Users/Alex/.ssh/id_rsa.pub.


Помещаем ключ на гитхаб. notepad /c/Users/Alex/.ssh/id_rsa.pub и копируем содержимое (через Notepad, некоторые редакторы могут исказить текст!). Ctrl+A Ctrl+C
Заходим на https://github.com/account/ssh нажимаем добавить ключ и вставляем в поле Key. Поле Title заполните по своему усмотрению, я туда пишу название машины на которой генерил ключ.

Проверяем, что все ок:
$ ssh git@github.com
Hi <Имя вашего эканута>! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.


Если вы это увидели значит все ок.

Форкаем и клонируем nemerle


Заходим на https://github.com/rsdn/nemerle и нажимаем кнопочку Fork. Все, у вас есть свой репозитарий, делайте в нем что хотите. Я хочу склонировать его для работы. Весьма кстати на видном месте висит текстбокс с гитовским адресом репозитария. У меня он git@github.com:Ziaw/nemerle.git

Делаю в той папке, где хочу создать клон:
$ git clone git@github.com:Ziaw/nemerle.git

Либо в GitExt нажимаю на Clone repository.

Репозиторий большой, клонируется не быстро. Зато потом вся история за 8 лет как на ладони

Создаем бранч для работы


Это не обязательно, но желательно.
$ git checkout -b my-feature

Либо в GitExt правой кнопкой на верхней ревизии (там где уже есть [master] [origin/master]) жмем Create branch, не забудьте галочку — checkout after commit.


... вобщем я уже засыпаю, продолжу завтра. Пока несколько хинтов:
0. Свежескачананный репозитарий лучше забэкапить, чтобы не качать заново. Он останется валидным, даже если вам придется убить свой форк и создать заново.

1. Создайте тестовый бранч и покоммитте в него всякой фигни, пока не сделан пуш или merge его можно удалить и все комиты в нем исчезнут (Если пуш уже сделан все равно можно удалить сразу весь форк или удалить бранч удаленно). Комиты не живут без бранча или тега, удалив бранч (по сути это просто скользящая метка) удаляются все комиты до ближайшего помеченного. Удаляется и создается форк на гитхабе почти мгновенно. Не бойтесь его грохнуть если что-то пошло не так.

2. Соответственно грохнуть несколько последних комитов очень просто: жмем на нужную ревизию и говорим: reset current branch to here.

3. Гит не даст переключить бранч или ревизию если есть незакомиченные файлы. Впрочем там всегда есть на выбор отличная опция — забить на эти файлы.

4. Как вы уже заметили, отстрелить себе ногу неверной командой в гите проще простого. Поэтому рекомендую перед любыми действиями делать комит. А еще лучше — скопировать репозитарий и потренироваться в копии.

5. Ветки origin/* это маркеры удаленного репозитария под псевдонимом origin. Таких репозитариев можно подключить сколько угодно, совсем не обязательно, чтобы они все были форками. Просто будут абсолютно разные ветки. При их чекауте гит предлагает сделать локальный бранч, соглашайтесь.

6. Замечу, что для меня гит перестал выглядеть страшно только после недели активного использования. Крепитесь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.