Основы работы Git
Чтобы вы понимали важность знания гита в наше время, скажу так - без знания/понимания этого вам делать в программировании нечего. Но прелесть в том, что для постоянной работы не нужно держать в голове все команды и возможности. Нужно знать набор команд, которые помогут понимать всё, что происходит. В сети доступен бесплатный тренажёр по Git.
Команда Git
Давайте рассмотрим основные опции и параметры команды:
git опции команда аргументы
-C
использовать указанную папку репозитория вместо текущей папки-c параметр=значение
использовать указанное значение параметра конфигурации-p
прокручивать весь вывод с помощью less
add
добавить файл или папку в репозиторий gitam
применить все патчи из emailarchive
создать архив файловbisect
использовать бинарный поиск для поиска нужного коммитаbranch
управление ветками проектаbundle
перемещение объектов и ссылок в архивеcheckout
переключение между веткамиcherry-pick
внести изменения в уже существующие коммитыclean
удалить все неотслеживаемые файлы и папки проектаclone
создать копию удаленного репозитория в папкуcommit
сохранить изменения в репозиторийdiff
посмотреть изменения между коммитамиfetch
скачать удаленный репозиторийinit
создать репозиторийmerge
объединить две ветвиpull
интегрировать удаленный репозиторий с локальнымpush
отправить изменения в удаленный репозиторийtag
управление тегамиworktree
управление деревями разработки
Аргументы зависят от используемой команды.
Этапы работы
Дальше предположительно должна быть выполнина установка и базовая настройка Git. Всю работу можно разделить на этапы:
git init
перед тем как git начнет отслеживать изменения, нужно подготовить все необходимые конфигурационные файлыgit add .
добавляем отслеживаемые файлы, по отдельности или сказать утилите, что необходимо добавить все файлы явноgit commit -m "название_комита"
фиксация изменений с помощью создание нового коммитаgit branch название_новой_ветки
на основе коммита создается ветка для ветвления проекта (не обязательно)git push origin название_ветки
для обмена информацией с другими разработчиками и сохранения данных в облаке, отправляем данные в удаленный репозиторий (не обязательно)
Основные термины
Репозиторий
каталог файловой системы, в котором находятся: файлы конфигурации, файлы журналов операций, выполняемых над репозиторием, индекс расположения файлов и хранилище, содержащее сами контролируемые файлы.
Локальный репозиторий
репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на удаленный репозиторий.
Удаленный репозиторий
репозиторий, находящийся на удаленном сервере. Это общий репозиторий, в который приходят все изменения, и из которого забираются все обновления.
Коммит (Commit)
зафиксированное состояние репозитория.
У коммита есть метаданные: идентификатор, имя автора, дата создания, комментарий.
Ветка (Branch)
это отдельная история изменений (коммитов) в рамках одного репозитория. Git поощряет создание отдельных веток для каждой решаемой задачи, благодаря чему и достигается эффективная параллельная работа — каждый разработчик может работать со своей историей и не бояться, что изменения в чужом коде повлияют на его работу
Слияние (Merge)
слияние изменений из какой-либо ветки репозитория с любой веткой этого же репозитория.
Клонирование (Clone)
скачивание репозитория с удаленного сервера на локальный компьютер в определённый каталог для дальнейшей работы с этим каталогом как с репозиторием.
Пул (Pull)
получение последних изменений с удалённого сервера репозитория.
Пуш (Push)
отправка всех неотправленных коммитов на удалённый сервер репозитория.