Про Git
Инициализация git-репозитария:
git init
Создать файл .gitignore для списка файлов, которые не требуется отслеживать. Пример файла .gitignore:
*.o *.so *.swp *.htm *.bin *.dat *.elf *.txt *.a build/obj/
Добавить все существующие файлы под версионный контроль:
git add .
Создать начальный коммит:
git commit
В первой строке текстового редактора нужно ввести название коммита, через строку более подробное описание коммита:
Начальный коммит Это первый коммит, содержащий исходные файлы проекта # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached..." to unstage) #
Для выхода нажать «F2» и потом «Y» и на запрос:
.git/COMMIT_EDITMSG
Нажать «Enter»
Перезаписать текущий коммит:
git commit --amend
Последующие коммиты необходимо делать с ключем «-a» для автоматической индексации изменений в файлах:
git commit -a
Просмотр текущего состояния git-репозитария:
git status
После выполнения коммита статус будет иметь примерно следующий вид:
git status # On branch master nothing to commit (working directory clean)
Для просмотра истории коммитов можно использовать команду:
git log --oneline 8f5e4c4 Добавлен функционал при отображении графиков 9eac233 Исправлена ошибка с буфером ec4bba1 Начальный коммит
Также для просмотра истории можно пользоваться графической версией gitg
Для перехода к определенному коммиту:
git checkout 9eac233
Создание новой ветки:
1) git branch debugBranch
После выполнения команды «git branch debugBranch» будет создана новая ветка, но для того, чтобы начать работать в ней, нужно выполнить переход к этой ветке с помощью команды:
2) git checkout debugBranch Switched to branch 'debugBranch'
Для просмотра списка веток используется команда:
git branch * debugBranch master
Для просмотра разницы между текущим репозитарием и любым коммитом:
git diff ec4bba1
Иногда возникает ситуация что новый коммит не принадлежит не какой из веток.
Это можно увидеть с помощью команды:
git branch * (no branch) master testOptimalWay
Также об этом говорит следующее сообщение:
Warning: you are leaving 1 commit behind, not connected to any of your branches
Для подсоединения коммита к последней активной ветке нужно выполнить:
git merge HEAD@{1}