-
Notifications
You must be signed in to change notification settings - Fork 6
/
Git шпаргалка
201 lines (146 loc) · 9.31 KB
/
Git шпаргалка
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
- [Git][git] как пример системы контроля версий (VCS). [Git for Windows][https://git-scm.com/downloads] [tortoisegit][https://tortoisegit.org/]
- [GitHub][https://github.com] как пример хостинга для проектов.
- [Google Test][github.com/google/googletest] как пример фреймфорка для модульного тестирования
(xUnit).
- [CMake](http://www.cmake.org) как кроссплатформенная и IDE-независимая [Дубров система построения проектов cmake]
система сборки для проектов на языке С/С++.
1. Создать свой личный аккаунт на [GitHub][https://github.com], если таковой
отсутствует. Для определенности обозначим аккаунт `https://github.com-account`.
1. Сделать fork [центрального репозитория] [https://github.com/UNN-VMK-Software/mp2-lab1-set] (Сделали на практике) к себе в личное пространство на GitHub. В результате
будет создана копия репозитория с названием
1. В правом верхнем углу окна GitHub нажать кнопку `Fork`.
2. Выбрать в качестве организации, куда направить форк, организацию,
соответствующую вашему личному аккаунту `@https://github.com-account`.
1. Клонировать origin-репозиторий к себе на локальный компьютер,
воспользовавшись следующей командой:
```bash
$ git clone {адрес вашего репозитория}
```
1. Перейти в созданную директорию :
```bash
$ cd ./itseez-ws-2016-practice
```
1. Настроить имя пользователя, из-под которого будут выполняться все операции
с репозиторием Git:
```bash
$ git config --local user.name "Your Name"
$ git config --local user.email "[email protected]"
```
Просмотр текущих настроек
git config --list
Очистить текущие параметры
git config --local credential.helper ""
Примечание: если не выполнить указанную операцию, то при попытке размещения
изменений на сервер потребуется вводить ваш `https://github.com-account` (появится
сообщение, приведенное ниже).
```
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.
In Git 2.0, Git will default to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Username for 'https://https://github.com.com': https://github.com-account
Password for 'https://https://github.com-account@https://github.com.com':
```
### Работа с ветками
Когда сделан форк репозитория, у вас по умолчанию создается единственная ветка
`master`. Тем не менее, при решении независимых задач следует создавать
отдельные ветки Git. Далее показаны основные команды для управления ветками на
примере ветки `add-new-google-tests`.
1. Получить список веток:
```bash
$ git branch [-v]
# [-v] - список с информацией о последних коммитах
```
1. Создать ветку:
```bash
$ git branch add-new-google-tests
```
1. Перейти в ветку:
```bash
$ git checkout add-new-google-tests
```
1. Создать ветку `add-new-google-tests` и сразу перейти в нее:
```bash
$ git checkout [-b] add-new-google-tests
# [-b] - создание и переход в ветку <branch_name>
```
1. Удалить ветку в локальном репозитории:
```bash
$ git branch -d <branch_name>
# [-D] - используется для принудительного удаления веток
```
### Работа с изменениями
При работе с файлами в ветке необходимо управлять изменениями. Далее приведен
перечень основных команд, которые могут понадобиться.
1. Получить список текущих изменений:
```bash
$ git status
```
1. Пометить файл как добавленный в текущую ветку репозитория (файл будет
добавлен в историю после выполнения команды `git commit`):
```bash
$ git add [<file_name>]
# <file_name> - название файла для добавления в commit
# если вместо имени указан символ *, то будут добавлены все новые файлы,
# не совпадающие с масками, указанными в .gitignore
```
1. Добавить изменения в текущую ветку локального репозитория:
```bash
$ git commit [-m "<message_to_commit>"] [-a]
# [-a] - автоматически добавляет изменения для существующих на сервере файлов
# без выполнения команды git add
# [--amend] - перезаписывает последний коммит (используется, если не забыты
# изменения)
```
1. Разместить изменения, которые были добавлены в локальный репозиторий
с помощью команды `git commit`:
```bash
$ git push [-u] origin [<branch_name>]
# [-u] - отслеживать версию ветки <branch_name> на удалённом сервере
# (origin). Позволяет получать изменения с сервера при помощи команды git pull
# без явного указания имени удалённого репозитория и имени ветки.
```
1. Получить изменения с сервера при помощи команды `git pull` и слить их с
отслеживаемыми ветками:
```bash
$ git pull [remotename [<branch_name>]]
```
## Сборка проекта с помощью CMake и Microsoft Visual Studio
В данном разделе описана типичная последовательность действий, которую
необходимо выполнить для сборки проекта с использованием утилиты CMake и
Microsoft Visual Studio. Далее для определенности выполняется сборка проекта из
репозитория.
### Генерация проекта Microsoft Visual Studio
1. Рядом с вашей директорией создайте
`build`. В новой директории будут размещены файлы
решения и проектов, сгенерированные с помощью CMake.
```bash
$ mkdir build
```
1. Перейдите в директорию `itseez-ws-2016-practice-build`:
```bash
$ cd ./build
```
1. Сгенерируйте файлы решения и проектов с помощью утилиты CMake. Для этого
можно воспользоваться графическим приложением, входящим в состав
утилиты, либо выполнить следующую команду:
```bash
$ cmake -G <generator-name> <path-to-repo>
# <generator-name> - название генератора, в случае тестовой
# инфраструктуры участников школы может быть "Visual Studio 10 Win64"
# (если в командной строке набрать cmake без параметров, то можно просмотреть
# список доступных генераторов)
# <path-to-repo> - путь до вашей директории, где лежат
# исходные коды проекта
```