Git что это за программа и нужна ли она

Чем отличаются Git, GitHub и GitHub Desktop?

Рассмотрим популярные инструменты, которые обязательно должны быть в арсенале современного программиста.

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

Во время работы у программиста часто бывает следующая ситуация:

  1. Написал фрагмент кода, проверил, программа работает.
  2. Написал следующий фрагмент, проверил, а программа уже не работает.

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

Для этого существуют системы контроля версий, которые называются VCS (Version Control System). Хотя каждая система управления версиями имеет свои специфические особенности, но общий принцип работы у всех один:

  • Существует центральное хранилище (Repository), где хранится информация о всех версиях программы.
  • Программист перед началом работы получает копию текущей версии (Pull).
  • После внесения изменений в программу программист заносит в хранилище следующую версию (Push).
  • При ведется журнал изменений и можно в любой момент получить любую версию программы.

Что такое GIT простым языком? Как работает, основные команды GIT

На данный момент самой популярной системой контроля версий является GIT. Ядро Git представляет собой набор утилит командной строки с параметрами.

Среди проектов, использующих Git — ядро Linux, Android, jQuery, PHP.

Сервис для хостинга проектов GitHub

Крупнейшим сервисом для хранения Git-проектов является GitHub.

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

В 2018 году Microsoft купила GitHub за 7,5 млрд долларов.

До апреля 2020 г. на GitHub можно было бесплатно размещать только открытые проекты.

Сейчас можно размещать бесплатно как открытые, так и закрытые проекты. На сервисе GitHub по состоянию на май 2021 г. было зарегистрировано 65 миллионов программистов.

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

Программа GitHub Desktop

Для работы с сервисом GitHub разработана программа GitHub Desktop. Она позволяет легко начать работать с сервисом. Для этого нужно сделать следующие шаги:

  1. Скачать и установить программу GitHub Desktop.
  2. Завести аккаунт на GitHub.
  3. Создать новый репозиторий.
  4. Подключиться к репозиторию.

Создание репозитория

Для создания закрытого репозитория выберите Private.

Открытый репозиторий (Public) доступен в поиске, виден в вашем профиле и любой человек может посмотреть код и предложить свои изменения.

Рекомендуется для репозиториев создавать файл README, в котором кратко описывать, для чего этот репозиторий нужен.

Что такое Git? Зачем он нужен?

После создания репозитория к нему нужно подключиться из программы.

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

Репозиторий (Repository) — каталог файловой системы, в котором хранятся файлы разработки.

Удаленный репозиторий (Ориджин, Origin) — репозиторий, находящийся на сервере. Это общий репозиторий, в который приходят все изменения.

Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика. Именно с ним работает программист.

Клон (Clone) — копия Origin в локальный репозиторий.

Форк (Fork) — копия репозитория. Форк позволяет разработчику вносить изменения без риска испортить исходный код.

Коммит (Commit) — запись изменений в локальный репозиторий.

Пуш (Push) — отправка всех неотправленных коммитов в удаленный репозиторий.

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

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

Общая схема работы с Git

Во время работы с Git чаще всего программист делает следующие шаги:

  1. Получить рабочую версию текста программы (Pull).
  2. Внести изменения в текст программы.
  3. Зафиксировать изменения в локальном репозитории (Commit).
  4. Отправить все коммиты в удаленный репозиторий (Push).
  5. При необходимости получить изменения из удаленного репозитория (Fetch).

Форк проекта

Для разработки типовых задач программисту не нужно начинать разработку с “чистого листа”. Лучше найти похожий проект на GitHub и сделать форк.

Форк — это копия проекта, которая может разрабатываться автономно. При необходимости можно сделать пул реквест для запроса соединения с оригиналом.

Этапы создания форка:

  1. Найти проект на Github. Например, https://github.com/octocat/Spoon-Knife
  2. Нажать ссылку Fork
  3. В GitHub Desktop клонировать проект и выбрать “For my own purposes”.

После этого проект будет автономен.

Ветвление в GIT

Во время разработки можно создавать так называемые ветки (branch).

Ветки позволяют вести независимую разработку. Основная ветка называется main. После принятия решения по новой ветке она или удаляется, или сливается (merge) с main.

Отмена изменений в GIT

Ключевой особенностью GIT является легкая отмена исправлений.

В случае неудачи программист всегда может вернуться к предыдущей версии. Это можно сделать командой revert.

Отмену можно делать до необходимой версии.

Выбор Gitflow

В каждой компании существует набор правил, по которым осуществляется порядок внесения изменения в Git. Этот набор обычно называют gitflow (от слова flow — поток).

Типовой gitflow выглядит так:

  • Основная ветка main содержит только полностью работающие версии.
  • Текущая разработка ведется в ветке dev.
  • Каждый программист заводит свою ветку.

После того как все программисты объявили о завершении этапа происходит слияние в основную ветку.

Страницы GitHub

На GitHub есть еще полезная услуга, которая называется GitHub Pages

Вы получаете один сайт для каждой учетной записи GitHub и неограниченное количество сайтов для проектов.

Для создания страниц Github нужно создать репозиторий с именем аккаунта. Адрес этой страницы будет иметь вид:

https://username.github.io

Адреса проектов будут иметь вид:

http://username.github.io/repository

На этих сайтах можно размещать только статические страницы (HTML, CSS). Основное назначение — описание проектов.

Все эти возможности GitHub делают данный сервис весьма полезным для работы программиста.

Похожие записи:

Среда разработки Geany
Разработка Android приложения. Часть 2. Создание приложения from scratch
Редактор интерфейса Glade

Привет! Мог бы написать статью про Git, но в командной строке?
Константин Шереметьев

Использование командной строки не рекомендую, так как это сильно замедляет работу, именно поэтому программисты используют визуальные среды, в том числе и GitHub Desktop.

Я и собираюсь использовать визуальные среды, но после того как в принципе смогу сделать основные команды через командную строку. Так что лучше всего представить цепочку освоения Git’а так :
— называем задачу,
— показываем как это делается из под командной строки, затем
— показываем как это делается через GUI от GitForWindows/GitHubDesktop/SmartGit И все: вы получили студента — который по настоящему освоился и дальше уже все остальное освоит по аналогии!

Порядок действий что в первую очередь нужен новичку что бы стартовать (пробелы можно будет доосвоить через документацию):
— установить GitForWindows/GitHubDesktop
— если уже стоит — то проверить не нуждается ли установка в починке?
— понять разницу между системной и портативной установкой, и как их совмещать.
— настроить первично
— научиться создавать локальный репозиторий
— и/или клонировать себе удаленный
— для этого уметь использовать авторизацию
— добавлять файлы в проект (и исключать из него)
— комитить изменения
— создавать, переключать и объединять ветки
— синхронизировать локальный репозиторий с удаленным
— теперь поучиться сравнивать и отменять изменения. Это мой минимум — для того что бы уже практиковаться и переваривать уже всякие другие руководства. Сможете так сделать?
Или может знаете что кто-то уже так сделал, и вы не заходите изобретать велосипед и просто поделитесь ссылкой? Буду очень даже благодарен !!

Константин Шереметьев
Этот список не содержит чего-то особо сложного. Достаточно небольшой практики и все получится.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  • Мини-книга «Путь в программисты»

Можно ли стать программистом за год с нуля? Читайте в моей бесплатной мини-книге «Путь в программисты». Скачать бесплатно

  • Популярные записи
      Читайте также:
      Программа olga что это
    • Рейтинг языков программирования в 2022 году
    • 15 причин, почему CodeBlocks не работает
    • 10 настроек CodeBlocks, которые надо сделать сразу после установки
    • Программирование на Delphi. Часть 1. Установка Delphi Community Edition (бесплатная версия)
    • Менеджер баз данных DBeaver
    • Си-экспресс
    • 13 библиотек С++, о которых нужно знать
    • Разработка Android приложения. Часть 1. Установка Qt
    • Программирование на Delphi. Часть 2. Разработка Android-приложения
    • Горячие клавиши CodeBlocks
    • Последние записи
      • Установка LibreOffice на MacOS
      • Использование UTM-метки для анализа трафика
      • Упаковка Python программы в EXE файл
      • Почему программирование — это одна из лучших профессий в мире
      • Рейтинг языков программирования в 2022 году
      • Последние комментарии
        • Андрей к записи 7 приемов, упрощающих программирование
        • Михаил к записи Программирование на Delphi. Часть 2. Разработка Android-приложения
        • Veronika к записи Менеджер баз данных DBeaver
        • SP к записи Среда разработки Geany
        • SP к записи Среда разработки Geany
        • Архивы
          • Ноябрь 2022
          • Июнь 2022
          • Май 2022
          • Апрель 2022
          • Сентябрь 2021
          • Май 2021
          • Апрель 2021
          • Март 2021
          • Январь 2021
          • Ноябрь 2020
          • Октябрь 2020
          • Сентябрь 2020
          • Август 2020
          • Июль 2020
          • Июнь 2020
          • Апрель 2020
          • Март 2020
          • Февраль 2020
          • Январь 2020
          • Декабрь 2019
          • Ноябрь 2019
          • Октябрь 2019
          • Сентябрь 2019
          • Август 2019
          • Июль 2019
          • Апрель 2019
          • Март 2019
          • Февраль 2019
          • Январь 2019
          • Декабрь 2018
          • Ноябрь 2018
          • Октябрь 2018
          • Сентябрь 2018
          • Апрель 2018
          • Март 2018
          • Февраль 2018
          • Январь 2018
          • Декабрь 2017
          • Ноябрь 2017
          • Октябрь 2017
          • Сентябрь 2017
          • Рубрики
            • Android
            • Delphi
            • JavaScript
            • MacOS
            • PHP
            • Python
            • QML
            • Qt
            • Ubuntu
            • Windows
            • Анализ данных
            • Базы данных
            • Библиотеки
            • Веб-разработка
            • Инструменты программиста
            • Истории успеха
            • Книги
            • Конкурсы
            • Новости проекта
            • Новости школы
            • Общая
            • Примеры кода
            • Программистские байки
            • Профессия — программист
            • Сайты для программистов
            • Технологии программирования
            • Юмор
            • Языки программирования
            • Мета
              • Entries RSS
              • Comments RSS
              • Источник: progtips.ru

                Git что это за программа и нужна ли она

                Content Oriented Web

                Make great presentations, longreads, and landing pages, as well as photo stories, blogs, lookbooks, and all other kinds of content oriented projects.

                Система контроля версий Git: понятие, назначение, как пользоваться

                Баженова Маргарита
                Директор по развитию LEADHUNTER GROUP
                Левина Ильяна
                Та самая королева конверсии

                Система контроля версий Git: понятие, назначение, как пользоваться

                Разработка сайтов и приложений сопровождается постоянными правками в исходных файлах. Часто разработчики совершают крупные и мелкие ошибки и требуется вернуться к старому состоянию файла для того, чтобы переписать участок кода. Можно, конечно, копировать файлы и откладывать их в отдельное место для того, чтобы вернуться к старой версии. Однако в индустрии программных продуктов и в веб-разработке пользуются специальным механизмом для манипуляции версиями файлов и избавления частного программиста или команды от лишних хлопот.

                Что такое Git

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

                С точки зрения программного обеспечения Git бывает трех видов:

                1. Консольная утилита, требующая знания текстовых команд для управления репозиторием.
                2. Графическое приложение для ПК.
                3. Онлайн-версия, которая называется GitHub — именно здесь хранятся репозитории большинства разработчиков, которые делятся своим детищем со всеми пользователями интернета.

                Что такое репозиторий и из чего он состоит

                Репозиторий — это начальная точка для ведения проекта. В репозитории хранятся файлы проекта и производятся над ними нужные операции: создаются ветки для разных разработчиков и файлов, производится деление на версии, пишутся комментарии, осуществляется сборка конечного результата в готовый файл проекта. Главная мастер-ветка осуществляет окончательный сбор проекта.

                Репозиторий состоит из следующих элементов:

                1. Папка. В репозиторий попадает папка с файлами проекта, над которыми будет вестись дальнейшая работа.
                2. Ветка. Каждый разработчик команды создает ветку для себя. Если разработчик один, то репозиторию не нужна ветка.
                3. Коммиты. Это команда для сохранения текущего состояния файла. Всего в репозитории можно создать 10 коммитов. Разработчик может вернуться к любому из 10 состояний файла для правки кода. После сохранения состояния файла, над ним можно продолжить работу и сохранить снова (скоммитить).

                Централизованные, локальные и распределенные версии Git

                1. Локальная система. Файлы хранятся на одном компьютере. Это делает множество ограничений для командной разработки.

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

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

                Установка консольной утилиты

                Прежде, чем пользоваться клиентом, необходимо установить утилиту на ПК. Рассмотрим на примере с ОС Windows:

                1. Скачать установщик на сайте Git-scm.com
                2. Установить программу в указанную директорию.
                3. Выбрать компоненты, которые нужно установить (оставить по умолчанию).
                4. Указать способ использования (Use Git from windows command prompt).
                5. В окне » ConfiGure Line endinG » выбрать первый вариант.
                6. Остальные пункты оставить по умолчанию.

                Создание репозитория: пошаговая инструкция

                1. Перейти в папку с установленным Git.
                2. Запустить консоль Git и перейти в ней по адресу, где находятся все папки проекта.
                3. Ввести команду «Git init». Так мы создали пустой репозиторий. Но файлы еще не под контролем репозитория.
                4. Добавляем нужные файлы командой «Git add имя файла». Альтернативой для добавления всех файлов каталога является команда «Git add*».
                5. Введите команду «Git commit» для сохранения текущей версии файла.
                6. Проделав изменения в файле, вы можете снова сделать его коммит командой «Git commit».

                Как происходит процесс разработки через Git

                1. Разработчик, который приходит на проект, осуществляет клонирования репозитория проекта на свой компьютер.
                2. Создает свою ветку и работает в ней над исходным файлом.
                3. Когда разработчик решил, что задача выполнена, он делает коммит и дает запрос на сохранения файла в основной мастер-ветке.
                4. Более опытные разработчики проверяют код новичка. Если в нем есть ошибки, то комментируют их и возвращают файл обратно.
                5. Если файл возвращен обратно, то разработчик либо исправляет текущую версию файла, либо возвращается к предыдущей для записи участка кода заново.
                6. Если при следующей отправке к файлу нет претензий, то он остается в мастер-ветке и уже является частью проекта, а новичок переходит к следующей задаче.

                Отличительные особенности Git от GitHub

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

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

                Как Git облегчает командную разработку?

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

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

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

                Нужен ли Git для одного разработчика?

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

                Читайте также:
                Imslogger что это за программа на Андроид

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

                Рекомендации по изучению Git

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

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

                Тот, кто освоил консольное приложение, легко может освоить и GitHub. Онлайн сервис представляет собой ту же графическую оболочку, только с дополнительными настройками.

                У Git огромный набор команд, которые возможно вам никогда не пригодятся. Однако если придется когда-либо работать в команде, то обязательно нужно уметь: создавать репозиторий, управлять ветками, коммитить файлы, клонировать репозиторий, загружать файлы в мастер-ветку.

                Источник: www.levina.team

                Git что это за программа и нужна ли она

                Введите свои данные: электронную почту; пароль (рекомендации по созданию надежного пароля); имя, которое будет использоваться на GitHub и подтверждение на рассылку.

                После регистрации, на указанную почту, придет письмо: откройте в нем ссылку для подтверждения своего электронного адреса.

                5.2. Создание репозитория
                Следующим шагом является создание на GitHub нового репозитория.

                Репозиторий — это просто хранилище для чего угодно. В нашем случае, мы будем хранить в нем код. Репозиториев можно создать неограниченное количество под любой проект. Например, сейчас мы создадим хранилище под названием startjava2 (вам цифру 2 писать не нужно). А в будущем еще несколько под разными названиями: basejava, topjava — в них будет храниться код, связанный с этими проектами.

                Чтобы создать новый репозиторий, нажмите на сайте GitHub в правом верхнем углу + и выберите New repository.

                Откроется новая страница с первоначальными настройками, где нужно ввести имя репозитория и краткое описание (необязательно). Также необходимо пометить, чтобы он был Public (при Private доступ к репозиторию будет только по приглашению). Все остальное мы настроим позже.

                Нажав Create repository, вас перекинет на страницу со ссылкой на созданный репозиторий и набором стандартных команд, которыми мы воспользуемся в следующей статье.

                Репозиторий создан!
                6. Способы авторизации

                Доступ к репозиториям на GitHub из командной строки можно получить двумя способами: по протоколу HTTPS или SSH.

                С 13 августа 2021 г. GitHub отменил использование паролей для аутентификации из командной строки с помощью Git в пользу токенов персонального доступа (Personal access tokens, PAT). Эти шаги были сделаны с целью повышения безопасности пользователей.

                6.1. Токен персонального доступа и HTTPS
                Для доступа (авторизации) к GitHub по протоколу HTTPS необходимо создать PAT.
                Преимущества PAT перед паролями:

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

                6.1.1. Создание токена
                Для создания токена необходимо выполнить следующие шаги:
                Авторизуйтесь на github.com, а затем нажмите на фотографию своего профиля и выберите Settings.
                В левой панели нажмите пункт Developer settings
                Так же слева нажмите Personal access tokens, а затем кнопку Generate new token
                Дайте название (краткое описание) создаваемому токену, а также срок его действия.

                Выберите действия, которые будет разрешать данный токен. Чтобы использовать его для доступа к репозиториям из командной строки, отметьте пункты, где присутствует слово repo. А затем нажмите Generate token.

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

                Полученный токен необходимо использовать в командной строке вместо пароля при выполнении операций Git через HTTPS.

                При запросе аутентификации, вам нужно будет ввести:

                Username: ваш email Password: ваш токен

                В Windows Git для хранения учетных данных пользователей поставляется с диспетчером учетных данных (Git Credential Manager for Windows, GCM). Мы с ним встречались во время установки Git. Он по умолчанию сохраняет учетные данные, что позволяет не вводить их все время.

                Для просмотра его конфигурации введите следующую команду:

                git config credential.helper

                Если вы используете Git версии 2.29 или более позднюю, то в консоли отобразится надпись manager-core. Для более ранних версий credential.helper имеет значение manager.

                Если команда выдаст что-то отличное от manager-core, то введите:

                git config —global credential.helper manager-core
                7. Доступ через SSH

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

                SSH (Secure SHell, «безопасная оболочка») — это сетевой протокол, обеспечивающий шифрование передаваемых данных, а также защищенный доступ к удаленному серверу.

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

                В терминале пишем команду ssh-keygen (после все время жмем Enter, ничего не вводим).

                В итоге по адресу C:UsersИмя_пользователя.ssh будет создано два файла: id_rsa (приватный — никому его не показывайте) и id_rsa.pub (открытый — можете показывать кому угодно).

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

                Данные ключи являются взаимозависимыми: зашифровав информацию одним ключом, расшифровать ее можно только другим. Например, если вы зашифровали pdf-документ публичным ключом (ставите на него замок), то открыть и прочитать его сможете только вы, т. к. только у вас есть закрытый ключ. Так же это работает и в обратную сторону: если вы зашифруете письмо приватным ключом, то расшифровать его можно только вашим публичным ключом.

                Это также означает, что так как ваш публичный ключ может распространяться открыто, то любой, кто им обладает (коллега), сможет открыть зашифрованный документ. Но в этом нет опасности, т. к. это лишь гарантирует, что документ был зашифрован именно вами. По такому принципу работает цифровая подпись.

                Источник: topjava.ru

                ashtanyuk/Git-intro

                This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

                Switch branches/tags
                Branches Tags
                Could not load branches
                Nothing to show
                Could not load tags

                Nothing to show

                Name already in use

                A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

                Cancel Create

                • Local
                • Codespaces

                HTTPS GitHub CLI
                Use Git or checkout with SVN using the web URL.
                Work fast with our official CLI. Learn more.

                Sign In Required

                Please sign in to use Codespaces.

                Launching GitHub Desktop

                If nothing happens, download GitHub Desktop and try again.

                Launching GitHub Desktop

                If nothing happens, download GitHub Desktop and try again.

                Launching Xcode

                If nothing happens, download Xcode and try again.

                Launching Visual Studio Code

                Your codespace will open once ready.

                There was a problem preparing your codespace, please try again.

                Latest commit

                Git stats

                Files

                Failed to load latest commit information.

                Latest commit message
                Commit time

                README.md

                Краткое введение в Git (3 сценария использования)

                Git (гит) является наиболее популярной разновидностью системы управления версиями (VCS). В настоящее время это необходимый инструмент профессиональной разработки ПО, используемый в подавляющем большинстве программных проектов. В рамках нашего учебного курса Git используется для контроля и отчетности выполнения практических заданий по программированию.

                Git существует в качестве сервера и в качестве клиента. Далее, мы рассмотрим установку программы в качестве клиентского приложения на локальный компьютер пользователя. В качестве серверной части будет выступать известный ресурс https://github.com.

                Читайте также:
                Комета программа что это такое

                Git — это свободно распространяемая программа и существует для множества операционных систем. Следующий раздел документа посвящен установке и настройке программы в ОС Windows.

                Установка и настройка

                и выбираем дистрибутив для своеё операционной системы или идем по ссылке в нижнем правом углу страницы.

                После скачивания и запуска инсталлятора появляется мастер установки:

                Git — программа, распространяющаяся по лицензии GPL, допускающая свободное копирование и распространение:

                В окне опций соглагшаемся с предложением по-умолчанию:

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

                Инсталлятор установит специальную unix-подобную оболочку для ввода команд, под названием Git Bash:

                На этом этапе установки вновь соглашаемся с инсталлятором:

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

                • Git Bash Here
                • Git GUI Here

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

                Теперь в проводнике Windows на диске C: создадим папку с будущим репозиторием (хранилищем) проектов. На самом деле эту папку можно размещать в любом месте файловой системы, но мы упрощаем себе задачу. Внимание! Не рекомендуется хранить репозитории в папках с пробелами или кириллическими символами в названии.

                Если войти в проводнике в соданную папку (C:Labs), вызвать контекстное меню и выбрать пункт Git Bash Here, то откроется окно оболочки с приглашением.

                В окно теперь можно вводить команды для работы с Git.

                Настройка пользователя и почты

                Во время одного из этапов первоначальных действий с Git придётся настроить имя пользователя и адрес почты:

                Первый сценарий. Разработка собственного проекта

                В каталоге c:labs мы создадим свой учебный проект Hello, World! и пройдем через все этапы работы в Git.

                Создадим папку Hello в каталоге c:labs и перейдем туда в оболочке:

                mkdir Hello cd Hello

                Создадим новый (пустой) репозиторий:

                git init

                Создание нового репозитория предполагает появление в каталоге Hello скрытой папки с именем .git , в которой будут храниться все служебные файлы хранилища. В оболочке появляется надпись master, которая означает появление главной (и пока единственной) ветки репозитория.

                Далее, создадим файл-исходник hello.c с текстом программы на языке C для нашего проекта:

                #include stdio.h> int main() < printf(«Hello, world!n»); return 0; >

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

                git status

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

                Добавим этот файл (а точнее: изменения в этом файле) к git:

                git add hello.c

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

                Теперь зафиксируем изменения:

                git commit -m «Initial commit»

                У нас появился первый коммит — элемент истории разработки. В дальнейшем на него можно ссылаться по семи первым символам хеш-кода (49a55a4).

                Разработка программы предполагает внесение изменений в исходный код. После некоторого количества правок, когда очередной элемент программы завершен, файл сохранен, необходимо снова дать последовательность команд:

                git add hello.c git commit -m «. »

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

                Рассмотрим теперь более подробно рабочий процесс.

                Когда мы меняем (или создаем) файлы, то они размещаются в рабочем каталоге (working directory). Команда git add добавляет сделанные изменения в область подготовки (staging area). При вызове
                git commit происходит фиксация изменений в репозитории. В истории разработки появляется точка, на которую можно ссылаться, к которой можно совершать откат и т.п.

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

                Первый сценарий. Работа с сервером

                Для работы с серверной частью необходимо зарегистрироваться на https://github.com. Обратите, пожалуйста внимание, что пользователям можно указывать тарифные планы для использования ресурса, но мы выбираем бесплатный тариф.

                Активирование аккаунта происходит после подтверждающего письма по электронной почте.

                Далее, мы выбираем вкладку Repositories и нажимаем зеленую кнопку New:

                После этого необходимо заполнить ряд полей.

                Нужно ввести имя создаваемого репозитория (лучше, если оно будет совпадать с локальным именем). Тип репозитория надо оставить public для свободно распространяемых проектов и private для закрытых от внешнего мира.

                Нажатие зеленой кнопки Create переносит к финальному шагу:

                На последнем шаге нам предлагают связать локальный и удаленный репозитории командой git remote. Мы должны набрать в командной оболочке

                git remote add origin https://github.com/имя_пользователя/hello.git

                и передать первый раз изменения на сервер:

                git push -u origin master

                Слово origin в данном случае означает псевдоним серверного репозитория, а master имя ветки. По сути мы связали локальную и удаленную ветки master и отправили изменения на сервер.

                Страницу репозитория можно обновить

                Как в дальнейшем отправлять обновления на сервер?

                Как только на локальной машине накапливается достаточно изменений (новых коммитов), осуществляется их передача на удаленный сервер командой

                git push

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

                Сценарий второй. Подключение еще одного локального компьютера для разработки

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

                Любой пользователь Github может выполнить клонирование существующего public репозитория к себе на локальный компьютер.

                Если раскрыть список в виде зеленой кнопки, то мы увидим две возможности:

                • клонировать репозиторий
                • загрузить архив с файлами репозитория

                Клонирование репозитория подразумевает сохранение связи с ним, позволяющее потом обновлять содержимое локальной копии при изменении серверной (и, наоборот).

                Загрузка — это просто копирование файлов на локальный компьютер без сохранения связи с удаленным хранилищем.

                Клонирование репозитория осуществляется командой

                git clone http://github.com/имя/репозиторий.git

                После выполнения этой команды в командной оболочке, обычно требуется войти в репозиторий с помощью команды cd

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

                git pull

                Данная команда скачивает изменения со стороны сервера на локальный компьютер и применяет их к текущей ветке (master).

                Если вы модифицировали локальную версию и хотите обновить серверную, то нужно использовать git push .

                Замечание. Для обновления локальной версии public репозитория не требуется вводить логин и пароль. В принципе, не требуется даже иметь аккаунт на github. А вот при попытке отправить изменения на сервер будут запрошены данные для идентификации.

                Таким образом, сценарий №2 позволяет скачивать с сервера программное обеспечение (в том числе чужое) и периодически обновлять его.

                Третий сценарий. «Социальное» программирование

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

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

                Последовательность действий при данном сценарии:

                1. Владелец гостевого аккаунта (пользователь) выполняет операцию под названием Fork В результате серверный репозиторий копируется в аккаунт пользователя.
                2. Выполняется клонирование удаленного репозитория из своего аккаунта на локальный компьютер.
                3. В код на локальном компьютере вносятся изменения, которые потом отправляются в серверный репозиторий пользователя командой git push .
                4. Для того, чтобы владелец серверного репозитория мог вытянуть и применить изменения в своем проекте, прользователь направляет ему Pull request (пул-запрос).
                5. Владелец оригинального репозитория проверяет направленный ему код и применяет его к своему репозиторию (или отклоняет).

                При использовании данной схемы возникает ряд вопросов, главный из которых: как обеспечить безопасное слияние нескольких пул-запросов?

                Это достигается использованием механизма веток.

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

                Источник: github.com

                Рейтинг
                ( Пока оценок нет )
                Загрузка ...
                EFT-Soft.ru