-
Notifications
You must be signed in to change notification settings - Fork 1
/
instructions.txt
171 lines (94 loc) · 9.45 KB
/
instructions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
This is short instructions for work with git and github
---------------------------------------------------------
Прежде всего, нам необходимо установить сам Git. Нет ничего проще:
1. $ apt-get install git-core
После ввода пароля, git будет установлен в систему. В принципе, пару следующих шагов делать не обязательно, но всё должно быть не только работоспособно, но ещё и красиво. Делаем следующее:
2. Указываем владельца репозитария:
$ git config —global user.name «Name or Nickname»
3. Задаём почтовый адрес:
$ git config —global user.email [email protected]
Как видите, указывается опция «—global» (если вдруг WordPress опять «съест», то там два дефиса), которая задаёт общие настройки для git в системе. Один раз указали и этого будет достаточно.
С настройками покончено. Приступаем к работе. Для начала перейдём в директорию, в которой хотим создать репозитарий, и который, в будущем, будет загружен на Github.
4. $ cd ~/rails/test_app/
Теперь необходимо инициализировать новый репозитарий. Эта процедура делается один раз в самом начале работы. Опять же, всё очень просто:
5. $ git init
Initialized empty Git repository in /home/<username>/rails/mysql_app/.git/
Как видно из надписи, создан пока ещё пустой репозитарий в директории нашего приложения. Там создалась скрытая директория .git.
Теперь необходимо добавить файлы в наш вновь созданный репозитарий:
6. git add .
Обращаю Ваше внимание, что эта точка «.» указывает, что надо добавить все файлы и директории из текущего каталога. Естественно, рекурсивно будут добавлены все файлы из директорий. Обращаю Ваше внимание, что «рельсы» сами создают скрытый файл .gitignore, в котором хранится информация о том, какие файлы и каталоги не надо сохранять в репозитарии, т.к. они не несут необходимой информации, а так же слишком часто обновляются. Вы сами можете вносить туда изменения на Ваше усмотрение.
Посмотреть же, что git собирается сделать можно в любой момент командой:
7. $ git status
Теперь мы должны сказать git, что готовы к сохранению изменений:
8. $ git commit -m «Initial commit»
Все изменённые файлы будут добавлены в репозитарий. Дальше вы можете с ними работать, но своеобразная точка восстановления, названная »Initial commit», у нас есть. Всегда можем к ней вернуться.
Увидеть все проведённые нами изменения с репозитарием можно следующей командой:
9. git log
Увидите что-то типа этого:
commit fb6b6349b17fd428a68d6c18a8a5501af6f677a4
Author: http://www.none.com.ua/
Date: Fri May 13 17:41:55 2011 +0300
Initial commit
Так как у нас всего одно добавление, то и запись всего одна (-:
В принципе, основная работа с git закончена. Теперь попробуем добавить наш копию нашего репозитария на Github. Создание аккаунта и репозитария на Github я оставляю на самостоятельное изучение, там ничего сложного, всё просто и понятно. Я же расскажу про те трудности, которые могут возникнуть, а у меня возникли (-:, при подключении ssh-ключей и загрузке репозитария на Github.
После того, как Вы создадите репозитарий на Github, то вам там тактично намекнут, что-то необходимо бы как-то ssh-ключик подкинуть для красоты и работоспособности. Вот этим и займёмся.
Для начала:
10. $ cd ~/.ssh
bash: cd: /home/user/.ssh: Нет такого файла или каталога
Если увидели то же самое, то у Вас нет ещё ключей и их надо создать. Давайте создадим:
11. $ ssh-keygen -t rsa -C «[email protected]»
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): <Press Enter>
Created directory ‘/home/user/.ssh’.
Enter passphrase (empty for no passphrase):
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
8a:ee:cb:94:bf:b4:15:64:bc:3c:7a:7b:fb:6f:39:0f [email protected]
The key’s randomart image is:
+—[ RSA 2048]—-+
| |
| . |
| + |
| + . |
| S |
| o o o |
| + + o E. |
| + o + .. +. |
| .=.+….o.o.o.|
+——————+
Вместо «[email protected]» напишите свой электронный адрес. Теперь у нас созданы ssh-ключи. Перейдём в директорию с ключами:
12. $ cd ~/.ssh/
13. $ cat ~/.ssh/id_rsa.pub
Этой командой в окно терминала выводится содержимое публичного ключа. Не пугайтесь, всё в порядке, это так и должно быть. Скопируйте это и вставьте по адресу: https://github.com/account/ssh
Там не сложно. Выберите добавление публичного ключа и вставьте скопированное. После этого Github будет готов к работе с нами. Попробуйте вот эту команду:
14. $ ssh [email protected]
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.
Agent admitted failure to sign using the key.
Permission denied (publickey).
Мне вот сразу не понравилось это «Permission denied», но я не обратил на это внимание. Как позже выяснилось — очень зря. Но продолжим. Скажем git, какой удалённый репозитарий использовать:
15. $ git remote add origin [email protected]:<your account>/<your repository>.git
Здесь вместо »your account» и «your repository» указываете то, что сами создали на сайте github.com. После этого пытаемся загрузить наш локальный репозитарий на github:
16. $ git push origin master
Лично у меня выдало следующее:
Agent admitted failure to sign using the key.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
И ничего, понятно, не загрузилось на github. Поиск в интернете дал определённый результат. Как оказалось, если я правильно понял, это какой-то «баг» Ubuntu, но, к нашему счастью, это лечится. Делаем следующее:
17. $ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/user/.ssh/id_rsa:
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
Команда ssh-add — добавляет RSA- или DSA-идентификацию в аутентификационного агента. Иными словами, система теперь будет знать, с каким ключом работать. А теперь пробуем повторить процедуру из пункта 16:
16. $ git push origin master
Counting objects: 65, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (50/50), done.
Writing objects: 100% (65/65), 88.01 KiB, done.
Total 65 (delta 2), reused 0 (delta 0)
To [email protected]:<your account>/<your repository>.git
* [new branch] master -> master
Теперь можете смело смотреть на github свой новосозданный репозитарий (-:
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.