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