Git-working-copy » History » Version 4
Александр Бородин, 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 | <pre><code class="bash"> |
||
35 | user@computer:~/repodir> git fetch |
||
36 | user@computer:~/repodir> git pull origin master |
||
37 | </code></pre> |
||
38 | 1 | Александр Бородин | |
39 | 3 | Александр Бородин | h2. Управление файлами рабочей копии и отправка изменений в центральный репозиторий |
40 | 2 | Александр Бородин | # Создаем по крайней мере один файл для начального коммита |
41 | <pre><code class="bash"> |
||
42 | 3 | Александр Бородин | user@computer:~/repodir> ls |
43 | 2 | Александр Бородин | README |
44 | </code></pre> |
||
45 | 3 | Александр Бородин | # Добавляем файлы под контроль версий и выполняем коммит |
46 | 2 | Александр Бородин | <pre><code class="bash"> |
47 | 3 | Александр Бородин | user@computer:~/repodir> git add * |
48 | user@computer:~/repodir> git commit |
||
49 | 2 | Александр Бородин | </code></pre> |
50 | # В открывшемся редакторе (управление в стиле vi) набираем комментарий к начальному коммиту |
||
51 | <PageDown><o>Repo created<Esc><Shift+ZZ> |
||
52 | # Если всё в порядке, коммит выполняется |
||
53 | <pre><code class="bash"> |
||
54 | Created initial commit 70573e7: Repo created |
||
55 | 1 files changed, 1 insertions(+), 0 deletions(-) |
||
56 | create mode 100644 README |
||
57 | </code></pre> |
||
58 | # Синхронизируем с удаленным репозиторием |
||
59 | <pre><code class="bash"> |
||
60 | 3 | Александр Бородин | user@computer:~/repodir> git push origin master |
61 | 2 | Александр Бородин | Password: |
62 | updating 'refs/heads/master' |
||
63 | from 0000000000000000000000000000000000000000 |
||
64 | to 3c3f942d57e56dc4eecd5615b2051cf8e67f2bce |
||
65 | Generating pack... |
||
66 | Done counting 3 objects. |
||
67 | Deltifying 3 objects... |
||
68 | 100% (3/3) done |
||
69 | 1 | Александр Бородин | Writing 3 objects... |
70 | 100% (3/3) done |
||
71 | Total 3 (delta 0), reused 0 (delta 0) |
||
72 | </code></pre> |