1. Инициализации локального репозитория
$ git init
2. Конфигурирование локального репозитория
$ git config --globar user.name "name" $ git config --globar user.email usermail@ex.com
3. Указать файлы/папки для которых не нужно отслеживать изменения.
В корневом каталоге создать файл .gitignore, со списком файлов. Например (для Django): *.pyc , *~ , __pycache__
4. Информация об отслеживаемых/измененных файла
$ git status
5. Сохранить изменения в индексе локального репозитория
$ git add --all $ git add [имя файла]
6. Подтвердить создание локальное копии
$ git commit -m "Your Comment"
7. Копировать файлы в удаленный репозиторий Github
$ git remote add origin [путь до файла.git] Пример: git remote add origin ssh://user@server:/path/to/file/.git $ git push origin master
8. Запись пометок в лог
$ git tag [пояснение] #как правило тег+первые 10 символов текущего коммита
9. Просмотр log — коммитов
$ git log
Команды ветвления
1. Создание новой ветки
$ git checkout -b [новая_ветка]
2. Удаление ветки
$ git branch -d [ветка]
3. Переключение между ветками
$ git checkout [репозиторий]/[ветка]
4. Слияние веток
$ git merge [ветка]
5. Сравнение веток
$ git dif [ветка #1]/[ветка #2]
6. Обновить репозиторий с учетом последнего коммита
$ git pull
Команды отката изменений
1. Временно переключиться на произвольный коммит:
$ git checkout id_commit (вернуться обратно git checkout master)
2. Переключиться и продолжить работу с произвольного коммита (для этого понадобиться новая ветка):
$ git checkout -b имя-новой-ветки id_commit
3. Вернуть рабочую область к состоянию до последнего commita (рекомендуемый варинат, т.к. изменения можно будет вернуть):
$ git stash save воссатновисть исходные изменения $ git stash apply
3.2. Вернуть без возможность восстановления (не рекомендуемый вариант):
$ git reset -hard HEAD
4. Отменить опубликованные коммиты
$ git revert id_com1 id_com2 ... id_com_n
6. Откатить изменения в файле до коммита:
git checkout file.name
Изменение истории коммитов
1) Закоммитеть все изменения 2) git rebase -i HEAD~3 (где 3 - количество последних коммитов, которые хотим объединить) 3) В диалоге изменить pick на squash pick bcdca61 Second commit squash 4643a5f The third commit with cool stuff ( - заменить pick на squash) squash e0ca8b9 The last commit ( - заменить pick на squash)
4) В следующем «диалоге» вам предложат указать заголовок для получившегося коммита