Основные операции
Git
- наиболее популярная система управления версиями (VCS
- см. Wikipedia). Существует множество графических интерфейсов для работы с Git
, но часто приходится сталкиваться с необходимостью работать с репозиторием из командной строки. Например, на удаленных серверах с доступом по SSH
.
Краткая схема работы
Подготовительный этап - клонирование репозитория
git clone ...
Рабочий цикл
Внесение изменений
git pull
git add ...
git commit
git push
Описание использования команд приведено ниже
Создание копии репозитория
git clone http://git.example.com/repo.git example
Приведенная команда создаст каталог example
и клонирует в него репозиторий по указанному URL http://git.example.com/repo.git
Обновление репозитория
Для обновления репозитория нужно перейти в его каталог и выполнить команду git pull
cd /path/repo
git pull
Если обновление затрагивает измененные файлы, то будет выведено подобное сообщение
Updating d4f6b61..f6df1ca error: Your local changes to the following files would be overwritten by merge: config.php Please, commit your changes or stash them before you can merge. Aborting
В данном случае нужно спрятать изменения
git stash
Затем провести обновление репозитория
git pull
После этого вернуть спрятанные изменения
git stash pop
Фиксация изменений
Перед фиксацией изменений полезно проверить состояние репозитория
git status
Команда выведет список измененных, проиндексированных или новых файлов файлов
Далее необходимо добавить нужные файлы в индекс, например config.php
git add config.php
После добавления файлов можно проверить состояние
git status
Если результат устраивает, то фиксируем добавленные в индекс файлы
git commit
При выполнении данной команду будет открыт редактор для указания комментария к фиксации (commit
)
Отправка изменений в удаленный репозиторий
После добавления одного или нескольких фиксаций (commits) данные можно отправить в удаленный репозиторий
git push
Ссылки
https://ru.wikipedia.org/wiki/Система_управления_версиями https://ru.wikipedia.org/wiki/Git
Last updated
Was this helpful?