Richter web-программист: создание сайтов, написание интернет-магазинов, создание скриптов на PHP, MySQL, JavaScript. Качественная верстка HTML, CSS. Системы управления сайтом, CMS. Оптимизация для поисковиков
English version

Статьи веб-программиста: Начало работы с Git (GitHub, BitBucket и пр.)

Один из проектов
Сайт московского салона красоты "WorldBeauty.RU" Интерактивный динамический сайт. Выполнена основная часть верстки, вся программная часть. Имеет 2 версии - на русском и английском языках.
Web-администраторы для каждого раздела (всего более 5). Созданы сложная система фотогалерей, 3 системы отправки сообщений, собственный форум с эксклюзивным дизайном, каталог ссылок с разделами и автоматическим оповещением о добавлении ссылки, новости. Сайт построен на основе собственной технологии SBS "Web-Pro".
Система построения сайта SBS "Web-Pro"
SBS Web-Pro Средство для создания и удобного управления сайтом, имеющее расширенные по сравнению с CMS (Content Management System) характеристики. Более 5 лет успешного использования. Подробнее
Пишите!
Telegram
@richter_a

Начало работы с Git (GitHub, BitBucket и пр.)

К списку статей

Это краткое руководство пригодится вам, если вы решили начать работать с Git, и хотите понять самые азы работы с ним.

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

Итак, у нас есть следующие составляющие:

  • Git, т.е. система управления версиями, фактически формат.
  • репозитории вашего программного кода, т.е. сами файлы ваших проектов и сведения о них и их изменениях.
  • сайты-хранилища репозиториев (например, GitHub и BitBucket), работающие в формате Git.
  • программы-клиенты, которые управляют локальным и удаленным репозиториями.

Репозитории хранятся как локально на вашем компьютере, так и на сайтах-хранилищах, откуда могут получить их ваши коллеги. Ваш проект как и обычно находится в папке на вашем компьютере, где вы с ним работаете. Кроме него, в этой папке размещается папка .git, в которой хранятся данные о проекте и его изменениях. Эта папка вместе с начальными данными создается программой-клиентом в начале работы над проектом. Эта совокупность и есть репозиторий, локальный. И есть ещё удаленный, на сайте-хранилище, доступный для других разработчиков и пользователей. Эти репозитории синхронизируются между собой.

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

А теперь рассмотрим это детально. Рассматривать будем GitHub, а в BitBucket всё аналогично.

  1. В первую очередь регистрируемся на сайте: GitHub или BitBucket.
  2. Устанавливаем git-клиент отсюда.
    При установке все опции оставляем как есть.
    Если предполагается работа через SSH, то нужно скачать putty, запустить puttygen и создать ключи, далее в настройках на сайте добавить публичный ключ. Но можно работать и без SSH.
    Теперь уже можно работать через командную строку или через штатный GUI клиента. А можно поставить сторонний GUI: Tortoise, SmartGit или SourceTree.
  3. Создаём репозиторий на сайте, пока пустой. При создании в BitBucket указываем тип Git.
  4. Теперь нам нужно забрать данные репозитория с сайта, т.е. создать его локальную копию. Это можно сделать, например, через контекстное меню "Git clone..." в Tortoise.
    Мы создаем папку, где будет находиться репозиторий (т.е. рабочие файлы проекта и сведения о нём), и вызываем контекстное меню на этой папке.
    Разумеется это можно сделать и через командную строку.
    В выбранную папку будут скопированы служебные файлы репозитория, в папку .git.
  5. Теперь у нас есть два репозитория - локальный и удаленный. Оба пока пустые, но готовые к работе. Самое время создать (или скопировать) в локальном репозитории файлы проекта, внести какие-либо изменения кода.
  6. После внесения изменений, их нужно подтвердить, т.е. внести о них сведения, что называется сделать "коммит". Коммит делается в локальном репозитории.
    Опять же это можно сделать через GUI или через командную строку:

    git add .

    git commit -m

    Заполнение поля Message обязательно.
    На данном этапе мы можем продолжать работу и делать дальнейшие локальные коммиты, или синхронизировать локальный и удаленный репозитории.

  7. Для синхронизации локального и удаленного репозиториев в GUI опция "Push".

    Командная строка: git push

    После этой операции на сайте-хранилищие появится точная копия файлов вашего локального проекта.

  8. Если нам нужно сделать обратную операцию, т.е. забрать копию из удаленного репозитория в локальный, делаем "Pull".

    Командная строка: git pull

    Это же можно (а иногда, при командной работе, нужно) делать перед началом работы с файлами.

И в заключении несколько замечаний.

Файл README для GitHub особый: его содержимое выводится как описание проекта.

Можно создавать так называемые релизы (это на GitHub, а на BitBucket это делается добавлением тегов к коммиту). Для релиза указывается тег, например, с номером версии. Релизы необходимы для совместной работы с packagist.org, чтобы версии воспринимались как стабильные, а не как dev.

Удаление тега через командную строку: git push origin :refs/tags/tag_name

Если нужно удалить последние коммиты до какого-либо:

git reset --hard
git push --force

Так можно удалить все коммиты, кроме самого первого.
На BitBucket это не сработает, пока один из коммитов имеет тег: активный коммит меняется, но в списке остаются все. Если же тег удалить, то все удаляются.

Мануал по командам Git.

Итак, теперь вы можете начать работать с Git; понимаете, из чего состоит система; можете создавать свои репозитории, загружать репозитории других разработчиков и принимать участие в совместной работе над проектами, по крайней мере на базовом уровне.

© 2017 Richter
Распространение только с разрешения автора
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий

Наверх