Git-working-copy » History » Version 5
Александр Бородин, 10/28/2012 02:57 PM
1 | 3 | Александр Бородин | h1. Управление рабочей копией удаленного репозитория |
---|---|---|---|
2 | 1 | Александр Бородин | |
3 | 3 | Александр Бородин | Программист получает текущую актуальную копию удаленного репозитория — так называемую рабочую копию, далее работает с ней, периодически синхронизируя с центральным репозиторием (отправляя и получая изменения). |
4 | Во всех примерах этого руководства подставьте имя вашего конкретного каталога репозитория вместо repodir. |
||
5 | |||
6 | h2. Клонирование существующего репозитория |
||
7 | |||
8 | Рабочую копию существующего репозитория можно создать, сделав его клон. Предварительно создаем каталог для рабочей копии и переходим в него. Выполняем следующую команду (вне вычислительной системы кафедры вместо $(whoami) подставьте ваше входное имя). |
||
9 | 1 | Александр Бородин | <pre><code class="bash"> |
10 | 3 | Александр Бородин | user@computer:~> git clone ssh://$(whoami)@kappa.cs.prv/groups/repos/git/repodir |
11 | 1 | Александр Бородин | </code></pre> |
12 | 3 | Александр Бородин | В результате клонирования в текущем каталоге будет создан каталог с рабочей копией. |
13 | |||
14 | h2. Создаем рабочую копию вручную |
||
15 | |||
16 | Этот способ позволяет выполнить привязку к удаленному репозиторию вручную. |
||
17 | 1 | Александр Бородин | <pre><code class="bash"> |
18 | 3 | Александр Бородин | user@computer:~/repodir> git init |
19 | Initialized empty Git repository in .git/ |
||
20 | user@computer:~/repodir> git remote add origin ssh://$(whoami)@kappa.cs.prv/groups/repos/git/repodir |
||
21 | user@computer:~/repodir> git fetch |
||
22 | 4 | Александр Бородин | user@computer:~/repodir> git pull |
23 | 2 | Александр Бородин | </code></pre> |
24 | |||
25 | 1 | Александр Бородин | h2. Модификация информации о разработчике |
26 | |||
27 | 3 | Александр Бородин | Каждый коммит в удаленный репозиторий идентифицируется автором. Настраиваем рабочую копию, чтобы данные об авторе включались в отправленные коммиты. |
28 | 1 | Александр Бородин | <pre><code class="bash"> |
29 | git config --global user.name "Your Name" |
||
30 | 2 | Александр Бородин | git config --global user.email you@example.com |
31 | 1 | Александр Бородин | </code></pre> |
32 | 2 | Александр Бородин | |
33 | 3 | Александр Бородин | h2. Получение изменений из центрального репозитория |
34 | 5 | Александр Бородин | |
35 | 3 | Александр Бородин | <pre><code class="bash"> |
36 | user@computer:~/repodir> git fetch |
||
37 | user@computer:~/repodir> git pull origin master |
||
38 | </code></pre> |
||
39 | 1 | Александр Бородин | |
40 | 3 | Александр Бородин | h2. Управление файлами рабочей копии и отправка изменений в центральный репозиторий |
41 | 2 | Александр Бородин | # Создаем по крайней мере один файл для начального коммита |
42 | <pre><code class="bash"> |
||
43 | 3 | Александр Бородин | user@computer:~/repodir> ls |
44 | 2 | Александр Бородин | README |
45 | </code></pre> |
||
46 | 3 | Александр Бородин | # Добавляем файлы под контроль версий и выполняем коммит |
47 | 2 | Александр Бородин | <pre><code class="bash"> |
48 | 3 | Александр Бородин | user@computer:~/repodir> git add * |
49 | user@computer:~/repodir> git commit |
||
50 | 2 | Александр Бородин | </code></pre> |
51 | # В открывшемся редакторе (управление в стиле vi) набираем комментарий к начальному коммиту |
||
52 | <PageDown><o>Repo created<Esc><Shift+ZZ> |
||
53 | # Если всё в порядке, коммит выполняется |
||
54 | <pre><code class="bash"> |
||
55 | Created initial commit 70573e7: Repo created |
||
56 | 1 files changed, 1 insertions(+), 0 deletions(-) |
||
57 | create mode 100644 README |
||
58 | </code></pre> |
||
59 | # Синхронизируем с удаленным репозиторием |
||
60 | <pre><code class="bash"> |
||
61 | 3 | Александр Бородин | user@computer:~/repodir> git push origin master |
62 | 2 | Александр Бородин | Password: |
63 | updating 'refs/heads/master' |
||
64 | from 0000000000000000000000000000000000000000 |
||
65 | to 3c3f942d57e56dc4eecd5615b2051cf8e67f2bce |
||
66 | Generating pack... |
||
67 | Done counting 3 objects. |
||
68 | Deltifying 3 objects... |
||
69 | 100% (3/3) done |
||
70 | 1 | Александр Бородин | Writing 3 objects... |
71 | 100% (3/3) done |
||
72 | Total 3 (delta 0), reused 0 (delta 0) |
||
73 | </code></pre> |