Памятка по Git и GitHub для начинающих

Дневник разработчика

Что такое GIT

Git — это распределённая система контроля версий. Она очень полезна при разработке сайтов и не только. потому что позволяет удобно сохранять все промежуточные версии вашего проекта и при необходимости возвращаться к выбранной промежуточной версии. Этот функционал часто сравнивают с сохранениями в компьютерной игре, из за схожести в межнике работы.

Система контроля версий является распределённой. потому что позволяет работать с разных устройств как одновременно. так и в разное время. Для корректного сохранения версий проекта используются правила и алгоритмы, следуя которым вы сможете создавать сайты и веб-приложения в команде с единомышленниками, не переживая о потере прогресса.

Как создать GIT-проект на компьютере

Для создания git-проекта необходимо открыть терминал в папке вашего проекта и ввести следующие команды:

командаЧто делает эта команда
git config —global user.name «Юрий Котёночкин»передаём глобальный параметр с именем пользователя.
git config —global user.email»yurka@mail.ru»передаём глобальный параметр с электронной почтой пользователя.
git config —listпроверка корректности записи профиля пользователя в файле конфигурации проекта (сам файл хранится на компьютере в папке пользователя и называется .gitconfig) Файл конфигурации можно копировать и редактировать.
git initинициализация репозитория (после инициализации проекта в папке проекта появляется скрытая папка .git. В ней сохраняется вся история сохранённых изменений в вашем проекте. Её нельзя удалять или редактировать напрямую).
git statusпроверка состояния репозитория. Посмотреть статус файлов проекта. в какой ветке проекта мы работаем в данный момент, и т п.
git add .создать коммит = сохранить изменения в файлах проекта (указывая в конце команды точку, мы говорим что хотим сохранить все файлы. Если же вы хотите сохранить какой то один файл, то в команде вместо точки нужно указать название сохраняемого файла)
git commit -m «какой то текст»Создаем текстовое описание сохранения (текст в кавычках).
git diffпосмотреть что изменилось в файлах проекта по сравнению с предыдущим коммитом.
git logпосмотреть историю сделанных ранее коммитов. Показывается в виде списка. каждый коммит состоит из идентификатора, даты и времени коммита и текстового описания. Зная хэш коммита — идентификатор можно откатиться к этой версии проекта или заглянуть в файлы той версии.
q закрыть лог со списком коммитов. который открывается по команде git log
git show идентификатор команда просмотра изменений. которые были в проекте на момент создания коммита.

Статус файлов проекта в репозитории

В репозитории у всех файлов может быть один из двух статусов:

  • trackt — отслеживаемый файл
  • untrackt — неотслеживаемый файл.

Все новые файлы изначально имеют статус untrackt, но после того как мы «сохраняемся» их статус меняется на trackt. так как они становятся частью проекта при создании коммита.

Основные термины в Git и GitHub

Git — система контроля и управления версиями файлов.

GitHub — веб-сервис для размещения репозиториев и совместной разработки проектов.

Repository Git — каталог файловой системы, в котором находятся: файлы конфигурации, файлы журналов операций, выполняемых над репозиторием, индекс расположения файлов и хранилище, содержащее сами контролируемые файлы.

Local repository — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на удалённый репозиторий.

Remote repository — репозиторий, находящийся на удалённом сервере. Это общий репозиторий, в который приходят все изменения и из которого забираются все обновления.

Fork— копия репозитория. Его также можно рассматривать как внешнюю ветку для текущего репозитория. Копия вашего открытого репозитория на Гитхабе может быть сделана любым пользователем, после чего он может прислать изменения в ваш репозиторий через пулреквест.

Upgrade from upstream — обновить свою локальную версию форка до последней версии основного репозитория, от которого сделан форк.

Upgrade from origin— обновить свою локальную версию репозитория до последней удалённой версии этого репозитория.

Clone repository— скачивание репозитория с удалённого сервера на локальный компьютер в определённый каталог для дальнейшей работы с этим каталогом как с репозиторием.

Branch— это параллельная версия репозитория. Она включена в этот репозиторий, но не влияет на главную версию, тем самым позволяя свободно работать в параллельной. Когда вы внесли нужные изменения, то вы можете объединить их с главной версией.

Master repository— главная или основная ветка репозитория.

Commit— фиксация изменений или запись изменений в репозиторий. Коммит происходит на локальной машине.

Pull— получение последних изменений с удалённого сервера репозитория.

Push — отправка всех неотправленных коммитов на удалённый сервер репозитория.

Pull Request— запрос на слияние форка репозитория с основным репозиторием. Пулреквест может быть принят или отклонён вами, как владельцем репозитория.

Merge— слияние изменений из какой-либо ветки репозитория с любой веткой этого же репозитория. Чаще всего слияние изменений из ветки репозитория с основной веткой репозитория.

Code Rewiew— процесс проверки кода на соответствие определённым требованиям, задачам и внешнему виду.

Перед началом работ требуется установить терминал и Git. Когда я обучался на интенсиве. рекомендовали поставить cmder, но обычно я использую GIT BASH.

Приглашение командной строки

Памятка по Git и GitHub для начинающих
Приглашение командной строки

При запуске терминала первая строка, которую мы видим называется приглашение командной строки. Оно состоит из:

  1. Имя пользователя
  2. Имя компьютера
  3. Пакет программ. установленный в системе
  4. Путь к папке, в которой мы находимся в данный момент

Если вы открыли консоль и видите приглашение командной строки, значит все в порядке и вы можете вводить команды. а компьютер готов их выполнить.

Список часто используемых команд при работе в командной строке

командаЧто делает эта команда
pwdузнать полный путь до папки в которой мы находимся в данный момент.
cdдля перемещения по папкам/ её используют в начале команды. а после неё указывают путь или название той папки, в которую нужно перейти.
cd —команда для возврата на 1 шаг назад — возвращение в предыдущую папку, из которой вы ушли.
cd ..подняться на 1 уровень выше. применяется для навигации по папкам проекта через консоль.
~перейти в домашнюю папку (домашнюю папку можно настроить. но по умолчанию это папка профиля пользователя на диске C)
lsпосмотреть список всех файлов в папке, в которой мы находимся.
ls -1посмотреть список всех файлов в папке, в которой мы находимся (вывод в столбик, для болnitq наглядности)
start .открыть текущую папку в проводнике. Так же можно открывать не только папки, но и файлы. Достаточно указать путь до файла.

В консоли есть опция дополнения команд и имён файлов. Для этого начав вводить команду достаточно нажать клавишу TAB.

Юрий Ронин