Git

Материал из OpenWiki
Перейти к: навигация, поиск

Пример работы с Git

Имеем две машины: "рабочую" для хранения базового репозитория и работающего проекта, и локальную, на которой будем вносить в этот репозиторий правки.


Предположим, что у нас имеется директория "проект" в которой находится некоторый набор исходных текстов. Для создания нового репозитория и помещения в него данных исходников, переходим в директорию "проект" и выполняем:

  git init

В директории "проект" при этом будет создана поддиректория .git, содержащая всю связанную с репозиторием информацию.

Затем добавляем ранее созданные в директории "проект" файлы:

  git add .

Посмотреть статус репозитория можно командой

  git status

Для применения изменений (выполнения коммита):

  git commit

После внесения правок для коммита всех измененных файлов, без их отдельного добавления через git add:

  git commit -a

Для просмотра лога коммитов:

  git log   

Для того, чтобы по SSH зайти на "хост" под именем "логин" и клонировать на свою машину репозиторий, находящийся с директории "/home/логин/проект" (префикс ssh:// добавляется по умолчанию, master тоже можно не писать)

  git clone логин@хост:/home/логин/проект master

Для того чтобы через некоторое время синхронизировать из основного или другого репозитория изменения, нужно выполнить:

  git pull логин@хост:/home/логин/проект master

Локальный клон сделан.

Далее правим в созданной на локальной машине "проект" и коммитим обратно изменения (в ветку master):

  git commit -a -m "комментарий о проделанной работе"     

Если ошиблись и нужно вернуть все обратно:

  git revert

Чтобы зафиксировать версию (если наступил такой момент):

  git tag тэг_версии

Когда все готово, помещаем изменения в основой репозиторий:

  git push логин@хост:/home/логин/проект master                      

Для того, чтобы сгенерировать рабочий проект (в нашем случае сайт) на рабочем сервере нужно выполнить в директории с проектом:

  git update-server-info                                                          
  git checkout HEAD -f

Вернуться к прошломй ревизии:

  git checkout HEAD~1

К позапрошлому:

  git checkout HEAD~2

Построить проект с заданным номером версии:

  git checkout тэг_версии

Список не помещаемых репозиторий файлов можн определить через файл .gitignore, в котором построчно можно перечислить маски для игнорирования, например, *.log *.o