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>  |