- научимся создавать ветки
- научимся откладывать изменения до лучших времен
- поговорим о каноничном workflow
- немного tips&tricks
git checkout -b develop- создать новую веткуdevelopи переключиться на нееgit branch- показать все веткиgit checkout master- переключиться на главную веткуgit merge <branch>- слить текущую ветку с веткой<branch>git branch -d <branch>- удалить ветку-D- принудительно удалить веткуgit merge <branch> --squash- при слиянии веток собрать несколько коммитов в один
git checkout -b develop
и посмотрим, какие ветки у нас теперь есть:
git branch
например, поменяем файл hello.txt и закоммитим его новое состояние
переключившись в ветку master, выполним:
git merge develop
Разница между git merge --no-ff и git merge
git stash- спрятать свои правкиgit stash apply- применить изменения к текущей версииgit stash list- вывести список измененийgit stash show- вывести последние измененияgit stash drop- удалить последние изменения в спискеgit stash pop- [apply] + [drop]git stash clear- очистить список изменений
допустим, в главном репозитории полным ходом идет разработка
мы, в свою очередь, тоже не отстаем и изо всех сил вносим изменения
в таком случае, при попытке получить актуальную версию кода, Git одарит нас ошибкой:
git stash
git pull
git stash pop
для этого можно использовать редактор/IDE/специальные программы для решения конфликтов, аля Meld
git checkout -b my_feature develop
если в программе обнаруживается неисправность, требующая срочных исправлений - создается ветка hotfix от master, которая потом сливается и с master, и с develop
git checkout -b hotfix master
git checkout master
git merge --no-ff hotfix
git branch -d hotfix
ТЭГ == Релиз, используется для фиксирования версий вашего ПО
git tag <name>- создать тэг (например, v1.3.1)git push --tags- залить все тэги в репозиторийgit push <tag>- залить конкретный тэг в репозиторий
Номер версии в формате MAJOR.MINOR.PATCH задается следующим образом:
- MAJOR версия - увеличивается, когда сделаны обратно несовместимые изменения API (крупные релизы)
- MINOR версия - увеличивается, когда добавляется новый функционал, не нарушающий обратной совместимости (новые фичи)
- PATCH версия - увеличивается, когда вы делаете обратно совместимые исправления (исправления, фиксы)
- если допущена ошибка при создании коммита (не те файлы, не тот комментарий), её можно откатить
git reset --soft HEAD^- если нужно посмотреть содержимое другой ветки, а в текущей есть файлы, еще не добавленные в Index:
git stash save --include-untracked- если отредактировано много файлов и добавлять сразу все НЕ хочется, то можно использовать
git add -i
- файл
.gitignoreсодержит описание файлов, которые git не будет отслеживать- например, если мы не хотим, чтобы в репозитории хранилась папка
.ideaи все файлы форматаdll, то пишем:.idea/*.dll
- например, если мы не хотим, чтобы в репозитории хранилась папка
git log- посмотреть историю коммитов в проекте
git lg- один из альтернативных вариантов истории коммитов, более наглядный для его использования надо создать алиас:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit"-
использование GUI клиентов
¯\_(ツ)_/¯ -
использование GUI клиентов
¯\_(ツ)_/¯ -
использование GUI клиентов
¯\_(ツ)_/¯
создать в своем форке репозитория myfirstproject новую ветку, накуролесить в ней, слить с главной и отправить Pull Request
Git
Ветвление
Заначка
Воркфлоу и версии
Данную лекцию подготовил Тимур Майзенберг



























