by Yana Kriklivaya
СКВ — ПО для облегчения работы с изменяющейся информацией. СКВ позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Git — распределённая система контроля версий (СКВ). Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. На сегодняшний день его поддерживает Джунио Хамано.
git init
— версионный контроль в существующей директории
git init <dir>
— создает новую директорию
git init --bare <dir>
— создает репозиторий без рабочей директории
git clone <repo>
— копирует git-репозиторий
git clone <repo dir>
— копирует в директорию
пример:
git clone https://github.com/MammaSonnim/git-show.git gitshow
--system
/ --global
/ без ключа
git config --list
— все настройки файлов конфигурации
git config --global user.name <name>
git config --global user.email <email>
git config --system core.editor <editor>
git add <file>/<dir>
— добавление файлов в индекс
git commit
— фиксация изменений
пример SHA-1 хеша: 24b9da6552252987aa493b52f8696cd6d3b00373
git commit -m 'commit-descr'
— коммит с описанием сразу
git commit -am 'commit-descr'
— git add + git commit -m
git status
— определение состояния файлов
git diff
/ + --staged
— просмотр изменений до индекса / коммита
git log
— просмотр истории по коммитам
Ветвление — отклонение от основной линии разработки
Ветка — ссылка на определенный коммит
HEAD — указатель на текущую ветку
git branch <name>
— создать новую ветку
git checkout <name>
— переключиться на ветку
git merge <name-2>
— слияние: слить в текущую ветку ветку-2
git branch -d <name>
— удалить ветку
git branch testing
— создать ветку под именем testing
git checkout testing
— переключиться на ветку testing
git commit -am 'start test'
— коммит 87ab2 (сокращенный SHA-1)
git remote add <name> <url>
— добавление удалённого репозитория под именем-сокращением
git fetch
— забрать данные с удалённого репозитория
git pull
— fetch + merge
git push <remote_server> <branch>
— отправление наработок на удалённый сервер