Project

General

Profile

Actions

Управление рабочей копией удаленного репозитория

Программист получает текущую актуальную копию удаленного репозитория — так называемую рабочую копию, далее работает с ней, периодически синхронизируя с центральным репозиторием (отправляя и получая изменения).
Во всех примерах этого руководства подставьте имя вашего конкретного каталога репозитория вместо repodir.

Клонирование существующего репозитория

Рабочую копию существующего репозитория можно создать, сделав его клон. Предварительно создаем каталог для рабочей копии и переходим в него. Выполняем следующую команду (вне вычислительной системы кафедры вместо $(whoami) подставьте ваше входное имя).

user@computer:~>  git clone ssh://$(whoami)@kappa.cs.prv/groups/repos/git/repodir

В результате клонирования в текущем каталоге будет создан каталог с рабочей копией.

Создаем рабочую копию вручную

Этот способ позволяет выполнить привязку к удаленному репозиторию вручную.

user@computer:~/repodir> git init
Initialized empty Git repository in .git/
user@computer:~/repodir> git remote add origin ssh://$(whoami)@kappa.cs.prv/groups/repos/git/repodir
user@computer:~/repodir> git fetch
user@computer:~/repodir> git pull

Модификация информации о разработчике

Каждый коммит в удаленный репозиторий идентифицируется автором. Настраиваем рабочую копию, чтобы данные об авторе включались в отправленные коммиты.

git config --global user.name "Your Name" 
git config --global user.email you@example.com

Получение изменений из центрального репозитория

user@computer:~/repodir> git fetch
user@computer:~/repodir> git pull

Управление файлами рабочей копии и отправка изменений в центральный репозиторий

В каталоге рабочей копии программист видит файлы выбранной ветви (изначально master) кода. Файлы других ветвей и служебные файлы и каталоги git размещаются в скрытом подкаталоге .git.

  1. Создаем по крайней мере один файл для начального коммита
    user@computer:~/repodir> ls
    README
    
  2. Добавляем файлы под контроль версий и выполняем коммит
    user@computer:~/repodir> git add *
    user@computer:~/repodir> git commit
    
  3. В открывшемся редакторе (управление в стиле vi) набираем комментарий к начальному коммиту
    <PageDown><o>Repo created<Esc><Shift+ZZ>
  4. Если всё в порядке, коммит выполняется
    Created initial commit 70573e7: Repo created
     1 files changed, 1 insertions(+), 0 deletions(-)
     create mode 100644 README
    
  5. Синхронизируем с удаленным репозиторием
    user@computer:~/repodir> git push origin master
    Password:
    updating 'refs/heads/master'
      from 0000000000000000000000000000000000000000
      to   3c3f942d57e56dc4eecd5615b2051cf8e67f2bce
    Generating pack...
    Done counting 3 objects.
    Deltifying 3 objects...
     100% (3/3) done
    Writing 3 objects...
     100% (3/3) done
    Total 3 (delta 0), reused 0 (delta 0)
    

Updated by Александр Бородин about 12 years ago · 8 revisions