by Yana Kriklivaya
СКВ — ПО для облегчения работы с изменяющейся информацией. СКВ позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Git — распределённая система контроля версий (СКВ). Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. На сегодняшний день его поддерживает Джунио Хамано.
«It is easy to shoot your foot off with git, but also easy to revert to a previous foot and merge it with your current leg.»
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> — отправление наработок на удалённый сервер