GIT - шпаргалка
Git — это бесплатная распределенная система управления версиями с открытым исходным кодом, предназначенная для быстрой и эффективной обработки любых проектов, от небольших до очень крупных. Git легко освоить , он занимает мало места и обладает молниеносной производительностью . Он превосходит инструменты SCM, такие как Subversion, CVS, Perforce и ClearCase, благодаря таким функциям, как дешевое локальное ветвление , удобные промежуточные области и несколько рабочих процессов.
Команды GITgit init - инициализировать гит в текущей директории, создастся папка .git с структурой gitgit add file - пометить файл к сохранению в репозиторий (коммита), если не указывать файл, пометит всю директориюgit rm - удалить из гита и рабочей директории файлgit restore - восстановить удаленный файл из рабочей директории (он сохранен в гите)git ls-files --stage - просмотр индекс файла, хеш совпадает с именем папки+файла в /objectsgit cat-file -p <хеш> - узнать тип файлаgit cat-file blob/commit <хеш> - отобразить содержимое файла из (лежит в objects)git status - отобразить все 3 набора файлов, коммиты, добавленные к коммиту файлы и недобавленныеgit commit -m ‘Коммент’- сохранить отмеченные файлы в репозиторий, создастся файл коммита и файл tree с снимком индекса на момент коммитаgit log - история коммитов ветки текущей ветки в виде графаgit log --graph - история коммитов текущей ветки в виде графаgit log --all --graph --oneline - история коммитов всех веток в виде компактного графаgit blame file1 - история изменений файла с хешем коммита, датой и автором измененийgit branch - отобразить список всех ветокgit checkout <хеш коммита> - переключиться на указанную ветку/коммит, файлы в директории с его версией и если создать коммит, он не будет привязан ни к чему/доступен по идентификаторуgit switch - - вернуться к основной веткеgit switch -c - создать веткуgit checkout -b "branch1" - создать ветку branch1git clone https://github.com/lepkov/devops-school-git - клонировать удаленный репозиторий к себе в текущую директориюgit reflog - история переключения всех указателейgit tag sometext - для создания указателя (который не двигается как ветка) на текущий коммитgit merge bugfix_branch- слияние в рамках линейной истории, новые объекты не создаются (режим fast forward), переключается указатель на текущую ветку (master) или слияние в рамках нелинейной истории, создаётся новый коммит, который объединяет обе ветки, будет 2 родителяgit chekout new_feature > git rebase master > git merge - слияние нелинейной истории, коммит будет перенесен как патч в конец ветки master, родитель будет одинgit show-ref - перечень хранимых указателейgit reset --hard - перемещает HEAD на указанный коммит и возвращает состояние директории на тот момент, откат изменений залогирован, это нужно например, когда хотим откатить слияние веток, коммит останется, но из истории будет удаленgit checkout - переставляет указатель HEADgit remote -v - список удаленных репозиториевgit fetch - подтянуть все изменения в локальном репозитории из удаленногоgit pull = git fetch + git mergegit push - отправка изменений загруженной веткиgit push --set-upstream origin master-patched - залить в репозиторий origin, создавая ветку master-patched, когда например пуш в основную запрещенgit am --show-current-patch - просмотр и приминение патчей
Важно в конце файлов делать переход на новую строку, это не вызовет проблем в дальнейшем с построчной обработкой файлов.

Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.