Прежде чем углубляться в то, что такое git и GitHub, давайте разберемся, что такое «система контроля версий».


Система контроля версий

Это причудливый термин, используемый для обозначения управления изменениями в жизненном цикле разработки проекта. Также известен как контроль версий или контроль версий.
Эта практика позволяет разработчикам отслеживать всю историю изменений и тех, кто их внес, и если в любой момент времени несовместимые изменения будут внесены в основную кодовую базу, их можно будет легко отменить.

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

Хорошо известные инструменты VCS:
Git, Subversion и Mercurial


мерзавец

Среди всех git — самый популярный вариант среди разработчиков. Также это распределенная система контроля версий с открытым исходным кодом.
Взгляните на исходный код git здесь.
мерзавец предоставить инструмент с графическим интерфейсом и командной строкой.

Я рекомендую использовать командную строку, так как она позволяет более свободно использовать git со всем набором команд.

Есть 4 этапа, с которыми мы сталкиваемся при использовании git:

  • Untracked: файлы, которые не отслеживаются.
  • Unmodified : файлы, которые не были изменены, но git отслеживает их.
  • Modified : файлы содержат изменения, и git их отслеживает.
  • Staged: файлы готовы к фиксации.

В процессе разработки мы создаем новый файл для написания кода, который находится в неотслеживаемой стадии, после завершения написания кода мы можем захотеть зафиксировать это изменение, чтобы позже, если что-то пойдет не так, мы могли вернуться назад. Файл перемещается в подготовленную область и фиксируется.
Теперь этот файл находится на стадии неизменения, и если разработчик захочет внести какие-либо изменения, он будет находиться на стадии модификации, что указывает на наличие некоторых изменений, которые разработчик может захотеть зафиксировать.
Каждый коммит записывается в историю проекта (репозиторий).


Гитхаб

Репозитории похожи на папки, содержащие файлы и разные версии проекта.

GitHub — это платформа, на которой мы можем размещать эти репозитории, а другие могут сотрудничать.
Аналогичные платформы, которые предоставляют такие же услуги: Gitbucket, Bitbucket, GitLab и многие другие.

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

Команда ;

— Что делает эта команда

После установки git вам нужно будет настроить информацию об авторе локально или глобально. Данные об авторе необходимы перед фиксацией, поэтому,

git config — глобальное user.name «[name]»;

— Устанавливает имя автора для ваших транзакций фиксации

git config — глобальный user.email»[email address]»;

— Устанавливает адрес электронной почты автора для ваших транзакций фиксации

git конфиг –global -l ;

— есть много других конфигураций, которые можно перечислить

Когда мы приступим к нашему проекту, мы должны сначала инициализировать его как репозиторий git.

git инициировать [projectName] ;

— инициализировать git-репозиторий

В процессе разработки может быть добавлено много файлов или отредактированы уже отслеженные файлы, эти файлы могут быть добавлены в область сцены. * означает добавить все файлы в рабочую область

git добавить [fileName] или git добавить * ;

— добавить файлы в область сцены

git восстановить — -поэтапно [filename];

— удалить указанный файл из рабочей области

Иногда мы можем захотеть исключить файлы из отслеживания, например файлы, которые требуются только в среде разработки и других. Путь к этим файлам можно добавить в файл «.gitignore», и он будет проигнорирован git.

git commit -m «сообщение фиксации»;

— коммит поэтапных изменений в историю версий проекта

git сброс [commitHash] ;

— удалять коммиты, сделанные после указанного коммита, сохраняя изменения локально

состояние git

— в любой момент времени можно проверить статус файлов

журнал git;

— в любой момент времени можно проверить логи репозитория

git клон [url] ;

— клонировать репозиторий git в вашу локальную систему

Ветки — одна из суперсил git, которая помогает создавать параллельную версию основного репозитория и работать в ней, не затрагивая основную ветку.

ветка git [branchName] ;

— создает новую ветку, с помощью -d можно удалить ветку

git касса [branchName] ;

— переключиться на указанную ветку, с помощью -b можно создать и переключиться на нее одновременно.

git слияние [branchName] ;

— объединить указанные изменения ветки в текущую ветку

Область тайника — это место, где изменения могут временно храниться без внесения изменений в репозиторий. Его можно использовать там, где мы хотим опробовать множество альтернативных решений без внесения каких-либо изменений. Тайник похож на СТЕК, каждый спрятанный предмет помещается сверху.

git stash -m «тайное сообщение»;

— переместить изменения в область хранения и иметь чистую кодовую базу, -a можно использовать для хранения неотслеживаемых элементов[all] также

git тайник поп ;

— вернуть изменения из тайника, — можно использовать индекс n, чтобы вернуть конкретный предмет из тайника

Репозитории в локальном хранилище и репозитории, размещенные в GitHub, могут быть синхронизированы, в этой операции каждый репозиторий связан с уникальным URL-адресом, для работы с URL-адресами в git используется команда «remote». После создания репозитория в GitHub и локальной разработки проекта пришло время отправить/синхронизировать локальный репозиторий с удаленным репозиторием в GitHub.

git удаленное добавление источника [RepositoryURL] ;

— сопоставить URL с источником[naming convention] и при работе с локальными и удаленными репозиториями это имя источника может использоваться вместо всего URL-адреса.

git получить ;

— получает обновления истории из удаленного репозитория

git тянуть ;

— обновляет рабочий каталог коммитами в удаленном репозитории, это комбинация выборки и слияния

git толчок;

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

В обеих командах push и pull можно указать, какую ветвь нажимать и куда нажимать.
git push [whereToPush] [whichBranchToPush]

git push происхождение основной

git тянуть источник основной

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

После репозитория в нашей учетной записи GitHub мы можем вносить изменения по своему усмотрению, и когда мы хотим объединить его с исходной кодовой базой этого разветвленного репозитория, мы можем создать запрос на включение, и сопровождающие этого репозитория могут просмотреть и объединить его со своей кодовой базой.

Проверьте Пакет студенческого разработчика GitHub