Git для новичков (часть 1)

Особенности реализации

Ядро Git представляет собой набор утилит командной строки с параметрами. Все настройки хранятся в текстовых файлах конфигурации. Такая реализация делает Git легко портируемым на любую платформу и даёт возможность легко интегрировать Git в другие системы (в частности, создавать графические git-клиенты с любым желаемым интерфейсом).

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

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

По умолчанию репозиторий хранится в подкаталоге с названием «.git» в корневом каталоге рабочей копии дерева файлов, хранящегося в репозитории. Любое файловое дерево в системе можно превратить в репозиторий git, отдав команду создания репозитория из корневого каталога этого дерева (или указав корневой каталог в параметрах программы). Репозиторий может быть импортирован с другого узла, доступного по сети. При импорте нового репозитория автоматически создаётся рабочая копия, соответствующая последнему зафиксированному состоянию импортируемого репозитория (то есть не копируются изменения в рабочей копии исходного узла, для которых на том узле не была выполнена команда commit).

Детали реализации в Windows

В Windows версии (официальная Windows-версия называется mSysGit) используется пакет mSys — эмулятор POSIX-совместимой командной строки над Windows (производный от MinGW, примерный аналог Cygwin).

Под mSys перенесены все необходимые для git библиотеки и инструменты, а также сам git.

При работе с удаленными репозиториями по протоколу SSL будет использоваться хранилище сертификатов из mSys, а не из Windows.

Существует немало графических оболочек для Git, например, TortoiseGit. Все они реализованы через вызовы mSysGi и требуют его установки на машину. Не исключение и SourceTree, решение компании Atlassian, но mSysGit оно содержит внутри себя, что имеет свои плюсы и минусы (так установка в глубокую поддиректорию затрудняет добавление в mSys нужных SSL-сертификатов).

Install

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

Travis со своей доисторической Юбунтой предлагает из коробки CMake 3.2 и GCC 4.8.4 — скорее всего, для современных проектов этого окажется недостаточно. Для получения GCC, способного переваривать C++14, в пишем:

Адекватную версию CMake придётся качать и устанавливать вручную. Добавляем в тот же :

Для моих проектов CMake версии 3.3 хватает, а вот доступной по умолчанию 3.2 — нет (в 3.3 было сразу несколько критических исправлений). Если для ваших проектов нужно что-то посвежее — соответственным образом поменяйте и .

Для поддержки кросс-компиляции необходимо также установить :

И Clang, и CMake под Маком не такие древние, как под Ubuntu, поэтому у меня состоит только из установки специфичных для проекта зависимостей. Осуществляется это с помощью . Например, чтобы поставить , добавляем в :

А вот install-скрипт в AppVeyor будет выглядеть более устрашающе — как минимум, нужно правильно настроить CMake-генератор в соответствии с версией Visual Studio и целевой платформой.

Если требуется скачать и установить специфичные для платформы зависимости, это делается с помощью утилиты , доступной на всех виртуальных машинах сервиса AppVeyor. Например, чтобы установить ragel, необходимо добавить в :

Также я рекомендую удалить следующие файлы — они не нужны для C++ проектов, но приводят к большому количеству мусорных сообщений в логах сборки:

Общим планом

И Travis CI, и AppVeyor позволяют запускать виртуальные машины с предустановленным инструментарием, на которых будет производиться процесс сборки, тестирования и развёртывания.

Как именно собирать, тестировать и развёртывать проект, описывается нами в специальном конфигурационном файле на языке YAML. Этот файл должен лежать в корне репозитория и иметь имя или (допускается ) — для Travis CI и AppVeyor соответственно. Мы хотим использовать оба сервиса одновременно, а значит и файлов будет два.

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

После того, как YAML файлы добавлены в репозиторий, нужно будет включить непрерывную интеграцию для заданного проекта на сайтах Travis и AppVeyor. Делается это очень просто. Заходим на https://travis-ci.org под своим GitHub аккаунтом, соглашаемся с доступом, который запрашивает Travis CI (ему нужно будет получать уведомления о новых коммитах), синхронизуем список своих проектов, выбираем нужный и щёлкаем на включатель. Готово. Далее повторяем аналогичный процесс на сайте https://ci.appveyor.com

Начиная с этого момента каждый в ваш репозиторий будет запускать процесс непрерывной интеграции: сервисы Travis и AppVeyor поднимут виртуальную машину, настроят среду, установят зависимости, скачают ваш проект, соберут и протестируют его, а также, при желании, выложат инсталляторы, архивы с исходниками и документацию — всё согласно спецификации в YAML-файлах.

Собственно, в создании YAML-файлов и будет заключаться наша основная работа.

Пути

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

Вы можете выполнять команды относительно текущего каталога или относительно абсолютного пути.

Абсолютный путь — это путь, начинающийся от корня файловой системы. Корень файловой системы обозначается символом .

Например, в Git Bash (Windows) абсолютный путь для каталога , будет чаще всего выглядеть следующим образом: .

Для домашнего каталога в Ubuntu (Linux), абсолютный путь будет выглядеть следующим образом: , где — имя пользователя.

Bash (Git Bash в том числе) используют символ для разделения каталогов.

  • — обозначает текущий каталог;
  • — обозначает родительский каталог.

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

  • заключать путь в кавычки, то есть ;
  • использовать символ для экранирования пробела: .

GitKraken

GitKraken — это кроссплатформенный, элегантный и эффективный клиент Git для Linux. Он подходит для Unix-подобных систем, таких как Linux и Mac OS X, а также Windows. Он направлен на повышение эффективности работы пользователей Git за счет следующих функций:

  • Визуальное взаимодействие и подсказки
  • 100% автономный
  • Поддержка нескольких файлов конфигурации
  • Поддержка функций отмены и повтора одним щелчком мыши
  • Встроенный инструмент слияния
  • Инструмент быстрого и интуитивно понятного поиска
  • Его легко адаптировать к рабочему пространству пользователя, он поддерживает подмодули и Gitflow.
  • Интеграция с учетной записью пользователя GitHub или Bitbucket
  • Сочетания клавиш и многое другое.

Официальный веб-сайт:https://www.gitkraken.com/

Git-cola

Git-cola — это мощный и настраиваемый клиент Git для Linux, предоставляющий пользователям стильный графический интерфейс. Он написан на Python и выпущен под лицензией GPL.

Интерфейс Git-cola включает в себя некоторые инструменты для совместной работы, которые можно скрыть и изменить по желанию пользователя. Он также предоставляет пользователям множество полезных сочетаний клавиш.

Его дополнительные функции включают в себя:

  • Несколько подкоманд
  • Пользовательские настройки окна
  • Переменные конфигурации и среды
  • Языковые настройки
  • Поддержка пользовательских настроек графического интерфейса

Официальный веб-сайт:http://git-cola.github.io/

GITK (инструментарий универсального интерфейса)

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

Важно то, что GITK позволяет каждому пользователю выбрать тип и стиль пользовательского интерфейса, который соответствует его / ее потребностям, в зависимости от способностей, предпочтений и текущей среды. Официальный веб-сайт:http://gitk.sourceforge.net/

Официальный веб-сайт:http://gitk.sourceforge.net/

Git Clients for Linux

Looking for Git GUI clients that work on Linux and choosing the one that is compatible for you can be time-consuming. To make it much easier, we’ve listed some for you:

1.

QGit is a free Git GUI for Linux that can graphically show different branches and allows you to see patch content and changes in files. With this tool, you can view archive trees, file histories, revisions, and diffs.

You’re also able to compare files, and visually change modified content using QGit. Applying or formatting patch series from selected commits, and moving commits between two QGit instances are also possible.

You can use the same semantic of Git commits to create new patches and implement common StGit commands. Scripts and commands sequences can be connected to a custom action.

2. Gitg

The user interface of Gitg is straightforward to use. It can open existing Git repositories saved in your computer. You can download the software for free, and it has a GPLv2 license. Remote repositories can also be viewed using Gitg.

Gitg enables you to perform common Git operations, browse commits, and preview files. You can see commit messages, untracked and unstaged commits through the commit view.

The downside of this tool is that large files tend to load slower, and it doesn’t show a project’s history.

3. Git Force

Git Force is a visual front-end tool for Git that runs on Linux as well as Windows, and it’s free to download. This software will help beginners as the interface is intuitive with a drag and drop feature, and it can be used solely without calling a command line Git tool.

You can create multiple Git repositories and branches, managing them all using Git Force. The tool is able to support one or more remote repositories and can quickly scan local ones.

The work you do in a git repository will be picked up by Git Force on the first refresh. However, it only works on most common Git commands, and because of that, it doesn’t keep any detailed state information.

Gitg

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

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

Официальный веб-сайт:https://wiki.gnome.org/Apps/Gitg

Структура .appveyor.yml

YAML-файл в AppVeyor выглядит очень похоже с поправкой на имена секций — всё тут называется немного по-другому:

Концепция матрицы сборки в полной мере применима и здесь. Как минимум, стоит прогонять CI для двух архитектур , обе под . Помимо этого, я бы рекомендовал также добавить в матрицу сборки и версию Visual Studio — вы ведь не знаете, какую именно студию использует наугад взятый клонер?

Для использования Visual Studio 2017 нужно подключить отдельный VM образ — на котором, увы, отсутствует большинство библиотек и инструментов, доступных на образе для Visual Studio 2015. Если вам необходимо-таки прогонять CI на VS 2017, добавьте в матрицу сборки:

Я же для себя решил ограничиться диапазоном VS 2010 — VS 2015. Возможно, со временем разработчики AppVeyor исправят ситуацию с VS 2017 в лучшую сторону.

  • Toolchain
    • Visual Studio 2010
    • Visual Studio 2012
    • Visual Studio 2015
  • Target CPU
    • amd64
    • x86
  • Configuration
    • Debug
    • Release

В сумме это даёт нам симпатичную матрицу на 12 конфигураций.

Обратите внимание, что в YAML файлах как для AppVeyor, так и для Travis скрипты ссылаются на внешние shell-файлы () Возникает вопрос: нельзя ли обойтись одними YAML файлами, без вспомогательных скриптов? К сожалению, скорее всего, ответом будет «нет»

Отказ от Intel

Смена деятельности Линуса Торвальдса сопровождалась переменами в его предпочтениях в плане аппаратного обеспечения. Последние 15 лет он признавал исключительно сборки компьютеров на Intel, однако в конце мая 2020 г., как сообщал CNews, он собрал себе новую рабочую станцию на топовом процессоре AMD, не уточнив при этом не модель чипа Intel в своей предыдущей сборке.

Что будет, если в СДХ убрать семь из восьми контроллеров?
Инфраструктура

Новый десктоп Линуса Торвальдса основан на процессоре флагманском AMD Threadripper 3970X, анонсированном в ноябре 2019 г. Его стоимость составляет $2000 (141 тыс. руб. по курсу ЦБ на 6 июля 2020 г.), и специально для него AMD разработала новый чипсет TRX40 и не менее новый сокет sTRX4 с 4094 пинами.

7-нанометровый Threadripper 3970X (архитектура Zen2) располагает 32 вычислительными ядрами, умеет обрабатывать до 64 потоков одновременно и работает на частоте от 3,7 до 4,5 ГГц. В его распоряжении есть 64 линии PCI-E 4.0, кэш-память L3 на 128 МБ (плюс 16 МБ кэша второго уровня и 2 МБ кэша первого уровня) и четыре канала оперативной памяти DDR4-3200, а его уровень тепловыделения (TDP) равен 280 Вт.

Создатель Linux отметил, что прирост производительности в сравнении с предыдущей конфигурацией на Intel есть. По его словам тестовые сборки «allmodconfig» стали работать втрое быстрее.

GitX-dev:

GitX-dev is a free Git client for Mac. It is created and designed to be a first-class, easily maintainable tool for active developers. This tool is specially developed for software developers, also it’s full-featured for most Git workflows.

You can browse your repository history and view a well-arranged diff of any revision. In addition, you will also be able to see a complete tree of the revisions.

Features:

  • See a nicely formatted diff of any revision
  • Look at the complete tree of any revision
  • Support for all parameters git rev-list has
  • Drag and drop files out of the tree view to copy them to your system
  • Search based on author or revision subject
  • Preview any file in the tree in a text view or with QuickLook
  • Good performance on large (200+ MB) repositories
  • History browsing of your repository

Tool Cost /Plan Details: Free

OS Support: Mac

Git-Cola

Git-cola представляет из себя мощный, функциональный Git клиент для Linux, который предлагает пользователям красивый графический интерфейс git. Он написан на Python и выпущен под лицензией GPL.

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

Вот его дополнительные возможности:

  • Множество команд;
  • Пользовательские настройки окна;
  • Настраиваемое и изменяемое окружение;
  • Языковые настройки;
  • Поддержка пользовательских настроек интерфейса.
sudo apt-get install git-cola

Gitg

Gitg is the default graphical Git client for the GNOME desktop. Like many newer GNOME utilities, it’s sort of bare bones in appearance. GNOME’s minimalist design choices don’t mean that Gitg can’t do exactly what you need it to.

Gitg has a great visualization of the project’s history, and it lets you select your branch on the fly. Its commit screen is a little confusing at first, but its actually very easy to use once you get the hang of it. It presents you with the staged changes, and you can easily evaluate them right there and create your commit.

Gitg is an excellent option if you’re looking for something simple that fits right in with your desktop.

Сетевые возможности и серверные решения

git использует сеть только для операций обмена с удалёнными репозиториями.

Возможно использование следующих протоколов:

  • git://, открытый протокол, требующий наличие на сервере запущенного демона (поставляется вместе с git). Протокол не имеет средств аутентификации пользователей.
  • ssh:// Использует аутентификацию пользователей с помощью пар ключей, а также встроенный в UNIX-систему «основной» SSH-сервер (sshd). Со стороны сервера требуется создание аккаунтов, шеллом у которых будет некая команда git.
  • http(s)://. Использует внутри себя инструмент curl (для Windows — поставляется вместе с git), и его возможности HTTP-аутентификации, как и его поддержку SSL и сертификатов.

В последнем случае необходимо наличие на сервере некоего ПО веб-приложения, которое будет исполнять роль прослойки между командами git на сервере и HTTP-сервером. Такие прослойки существуют как под Linux, так и под Windows (например, WebGitNet, разработанный на ASP.NET MVC 4).

Кроме поддержки серверной стороны команд push и pull, такие веб-приложения могут также давать доступ только на чтение к репозиторию через веб-браузер.

GITK

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

Важно отметить, что GITK позволяет выбрать вид и стиль пользовательского интерфейса, который соответствует его/ее потребностям в зависимости от способностей, предпочтений и текущей среды

sudo apt-get install gitk

Открытие терминала

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

В Linux достаточно щёлкнуть правой кнопкой мыши на каталоге и выбрать пункт меню или :

Mac

В Mac всё немного сложнее, необходимо настроить отображение этого пункта меню в Finder.

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

После чего при клике правой кнопкой мыши на каталоге появится необходимый пункт меню:

В Windows всё достаточно просто — клик правой кнопкой мыши на каталоге и выбор :

Первоначальная настройка Git

После установки Git первое, что мы сделаем — укажем наши имя и адрес электронной почты

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

$ git config --global user.name "Thorin Oakenshield"
$ git config --global user.email ereborsons@stone.com

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

Новая функция безопасности

«Отец» Linux Линус Торвальдс (Linus Torvalds) одобрил внедрение новой функции безопасности в ядро Linux, которая называется Lockdown («блокировка»). Она появится в версии ядра 5.4 в виде модуля безопасности LSM (Linux Security Module) и значительно ограничит права суперпользователя, сообщает ZDNet.

В UNIX-подобных операционных системах, к котором относится и Linux, суперпользователем называют учетную запись с именем root, владелец которой имеет право на выполнение любых операций без каких-либо ограничений. Аналогом root в ОС Windows является учетная запись администратора.

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

Линус Торвальдс принял патчи, добавляющие функцию Lockdown в ядро Linux

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

Fork: A Fast & Friendly GIT Client For Mac And Windows

Fork is a fast and simple git client for Mac and Windows. It has a tab-based interface that allows you to quickly navigate repositories and organize the workflow efficiently.

Besides, Fork offers a comprehensive list of origins, commits, tags, branches, and stashes. Furthermore, the website or application related to the repository can be open directly from Fork. It also provides a detailed file tree structure of the repo and an advanced difference viewer.

Features:

  • Interactive Rebase
  • Merge Conflicts
  • Repository Manager
  • Blame
  • Fetch, pull, push
  • Image Diffs
  • Create and delete remote repos
  • Create and delete branches and tags
  • Checkout branch or revision
  • Cherry-pick
  • Revert
  • Merge
  • Stashes
  • Submodules
  • Git-flow
  • Git LFS

Tool Cost /Plan Details: Basic Free/Premium Paid

OS Support: Windows & Mac

License: Proprietary

Giggle

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

Вы можете загрузить Giggle в Ubuntu, выполнив команду, указанную ниже:

Вы можете установить Giggle в других дистрибутивах Linux из диспетчера пакетов.

Структура .travis.yml

Рассмотрим пример файла с комментариями:

Скрипты этапов установки и развёртывания требуют пояснений — они будут даны далее. Сначала же остановимся на одном из ключевых понятий непрерывной интеграции — матрице сборки (build matrix).

Все мы знакомы с ситуацией, когда мы внесли минимальные изменения в проект, собрали, запустили, проверили — всё работает. Сделали релиз, и — БАМ! Он тут же упал на целевой машине. Проверяем у себя ещё раз — работает, собака! В английском языке есть специальный акроним на этот счёт:

IWOMM — It works on my machine!

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

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

C/C++ проект на Travis CI имеет смысл гонять, как минимум, под следующей матрицей:

  • OS
    • Linux
    • Mac OS X
  • Compiler
    • GCC
    • Clang
  • Target CPU
    • amd64
    • x86
  • Configuration
    • Debug
    • Release

К сожалению, Тревис предлагает на выбор всего два дистрибутива Linux — Ubuntu 12.04 Precise Pangolin (по умолчанию) и Ubuntu 14.04 Trusty Tahr. Даже если отвлечься от отсутствия каких-либо альтернатив Ubuntu, напомню, что текущая LTS (long-term-support) версия Ubuntu — это Ubuntu 16.04 Yakkety Yak, а текущая не-LTS версия — Ubuntu 17.04 Zesty Zapus. Иными словами, в мае 2017 года нам по умолчанию предлагается версия Ubuntu, выпущенная в 2012 году и отстающая на 5 мажорных релизов. Мда. Ну что ж, будем играть картами, что есть на руках.

Как бы то ни было, данная матрица содержит 16 конфигураций. Выбрасываем отсюда x86 под Mac OS X — целевая машина там однозначно будет 64-битная. Также выбрасываем GCC под Mac OS X — GCC под Маком это не более чем адаптер для GCC-специфичных опций командной строки, реальный же компилятор всё равно будет Clang. Исключение элементов из матрицы сборки осуществляется в секции

Предостережение: если исключаемые элементы описываются с помощью переменных окружения (как в случае с ), то придётся скопировать всю строку целиком:

Кажущегося логичным будет недостаточно.

Итого, остаётся 12 конфигураций на каждый . Согласитесь, это значительно лучше, чем одна-две, как обычно бывает при тестировании вручную, без использования непрерывной интеграции?

В терминологии Travis CI всё это звучит так. Каждый коммит (commit) приводит к запуску сборки (build), которая состоит из множества заданий (jobs) — по одному на каждую конфигурацию в матрице сборки (build matrix).

Установка Git из файла с исходным кодом

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

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

После установки необходимых зависимостей вы можете продолжить работу и получить нужную вас версию Git, посетив зеркало проекта Git на GitHub, доступное по следующему URL-адресу:

Затем нажмите кнопку Clone or download​​​ на правой стороне страницы, потом нажмите правой кнопкой мыши Download ZIP и скопируйте адрес ссылки, заканчивающийся на .

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

Здесь вы можете использовать команду для установки скопированной ссылки на файл с архивом. Мы укажем новое имя для файла: .

Разархивируйте файл, который вы загрузили, и переместите в полученную директорию:

Теперь вы можете создать пакет и установить его, введя эти две команды:

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

Теперь, когда вы установили Git, если вы захотите обновиться до более поздней версии, вы можете клонировать репозиторий, а потом выполнить сборку и установку. Чтобы найти URL-адрес для использования при клонировании, перейдите к нужной ветке или тегу на странице проекта в GitHub и скопируйте клонируемый URL-адрес с правой стороны:

На момент написания соответствующий URL должен выглядеть следующим образом:

Измените домашнюю директорию и используйте для URL-адреса, который вы только что скопировали:

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

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

What Is Git?

Git is a popular open-source version control system among developers. Originally, it was designed for collaborative projects between developers. Git is mostly used to store content and code in repositories.

The system also provides an environment where the code can be changed, with the revisions saved for future use. The repositories are stored in a remote server but are locally saved in every team member’s computers.

Git can be accessed and managed using command line tools. But if you’re new to Git, then you might want to start with something more manageable.

Graphical User Interface (GUI) clients are tools that provide alternative visualization for Git.

Check our in-depth explanation on Git if you need more information. To know about the best Git GUI clients for platforms such as Linux, Windows, and Mac, keep on scrolling.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: