Как узнать версию Git
Чтобы узнать, установленную версию Git, необходимо выполнить команду:
git --version
git version
Результат выполнения команды будет примерно следующий:
$ git --version git version 2.18
Если вдруг в результате выполнения команды, выскакивает сообщение: git: command not found , то это означает, что либо Git не установлен в вашей системе, либо путь до git не добавлен в переменную окружения $PATH .
Зачем знать версию Git
У некоторых пользователей может возникнуть вопрос, а зачем вообще знать версию Git, и на что она влияет?
Новые версии Git обычно выходят с периодичность 1-3 месяца. От версии к версии происходят изменения, касающиеся не только исправления ошибок, но и изменения, затрагивающие поведения команд Git. Это означает, что в разных версиях Git некоторые команды могут вести себя немного по разному. Обычно все основные команды продолжают работать в своем обычном режиме, но некоторые могут, пусть и не сильно, но изменить свою функциональность.
На нашем сайте мы ориентируемся на самую свежую версию Git. Поэтому, если выходит новая версия, и нужно вносить корректировки в статьи, то мы это сделаем по мере возможностей. Если вы заметили, что какая-то команда изменила свое поведение, и об этом на сайте не сказано, напишите, пожалуйста, в комментариях к соответствующей статье.
Смотрите также:
- Как изменить файлы в старом коммите (не последнем)
- Как добавить все файлы в коммит, кроме одного
- Как создать ветку из предыдущего коммита
- Команда Git stash. Как прятать изменения в Git
- Как показать файлы, которые будут добавлены в текущий коммит
- Как добавить коммит
- Как отменить коммит
- Как восстановить файл
- Как изменить комментарий к коммиту
- Как отменить git add
- Опубликовано: 17.09.2018
Как проверить актуальность версии в gitlab?
Скачал я проект с помощью clone сегодня, а завтра кто-то что-то добавил.
Как делать запрос с гитлабу, чтобы он проверил проект на обновление и как обновить?
- Вопрос задан более двух лет назад
- 161 просмотр
Комментировать
Решения вопроса 1
TL Junior Roo
Ответ написан более двух лет назад
Igorek98 @Igorek98 Автор вопроса
Он просит выбрать ветку
git pull
но git pull remote master выдает ошибку does not appear to be a git repository
Could not read from remote repository
А git fetch origin возвращает пустую строку и ничего не обновляет
В origin сохранен путь к проекту

Igorek98,
А что показывает вывод команды
git remote -v
?
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Git
Что за непонятные html-файлы?
- 2 подписчика
- вчера
- 186 просмотров

- Git
Как запушить проект webpаck на GitHub, но при этом не толкать все зависимости?
- 1 подписчик
- вчера
- 94 просмотра
Что такое GitLab, как и для чего он используется
GitLab — это инструмент для хранения и управления репозиториями Git. Он дает возможность выполнять совместную разработку силами нескольких команд, применять обновления кода и откатывать изменения, если это необходимо. Решение может работать на собственном сервере или в облаке. Для обоих случаев существуют полностью бесплатная версия и платные тарифы, стоимость которых зависит от функционала (подробнее о тарифах […]
Эта инструкция — часть курса «Введение в Git».
Смотреть весь курс

GitLab — это инструмент для хранения и управления репозиториями Git. Он дает возможность выполнять совместную разработку силами нескольких команд, применять обновления кода и откатывать изменения, если это необходимо.
Решение может работать на собственном сервере или в облаке. Для обоих случаев существуют полностью бесплатная версия и платные тарифы, стоимость которых зависит от функционала (подробнее о тарифах GitLab ниже).
В этой статье мы рассмотрим установку бесплатной версии GitLab Community Edition (GitLab CE) на сервер с Ubuntu 20.04 LTS x86_64, сравним GitLab с GitHub, разберемся с возможностями платных и бесплатных версий GitLab и расскажем как пользоваться GitLab. Но для начала подготовим выделенный сервер для разворачивания демо-стенда.
Чтобы создать сервер, откроем панель управления my.selectel.ru и перейдем в меню Серверы и оборудование, затем нажмем кнопку Заказать сервер.

В нашем примере для GitLab используется выделенный сервер фиксированной конфигурации EL09-SSD с процессором Intel Xeon E-2236, 16 Гб оперативной памяти, двух SSD-дисков по 480 Гб и операционной системой Ubuntu 20.04 LTS 64-bit.

После выбора сервера нажимаем кнопку Оплатить сейчас и ожидаем готовности сервера.

Примерно через 2 минуты физический сервер будет готов, а мы пока расскажем о возможностях Gitlab.
Возможности GitLab
Возможности GitLab делятся на следующие категории:
- управление (Manage),
- планирование (Plan),
- создание (Create),
- проверка (Verify),
- упаковка (Package),
- безопасность (Secure),
- релизы (Release),
- конфигурирование (Configure),
- мониторинг (Monitoring),
- защита (Defend).
Мы расскажем про основные в каждой категории.
Управление
- Аутентификация и авторизация. Двухфакторная аутентификация, интеграция с пользовательскими каталогами (AD/LDAP), гранулярный доступ к объектам в GitLab, поддержка токенов и SSO.
- Аналитика. Аналитика продуктивности разработчиков, трекинг выполнения задач группами пользователей.
Планирование
- Отслеживание проблем. Контроль за статусом проблем, поддержка дискуссий пользователей для обсуждения проблемы, возможность прикрепления файлов.
- Контроль времени. Отчеты по затраченному времени и оценка оставшегося времени на выполнение задач.
Создание
- Управление исходным кодом. График коммитов, запросы на слияния веток разработки, интеграция с Jira.
- Веб-консоль для редактирования кода. Веб-представление кода в интерфейсе, редактирование кода, синхронизация файлов с исходным кодом.
Проверка
- Поддержка процесса Continuous Integration (CI). Встроенные инструменты CI/CD, интеграция с Github, просмотр пайплайнов разработки, онлайн-визуализация HTML-артефактов.
- Проверка качества кода и тестирование. Отчеты по качеству кода, юнит-тестам, нагрузочное тестирование, тесты на доступность и юзабилити.
Упаковка
- Управление репозиториями. Поддержка репозиториев C/C++, Maven (Java), NPM, NuGet (.NET), Composer (PHP), PyPi (Python) и других.
- Управление контейнерами. Поддержка работы с Docker, управление репозиторием через API и вебхуки, приватных контейнерных репозиториев.
Безопасность
- Поддержка SAST и DAST. Работа с Static Application Security Testing и Dynamic Application Security Testing включая возможности отчетности.
- Сканирование зависимостей и управление уязвимостями. Gitlab поддерживает автоматизированное выявление зависимостей в коде и позволяет строить отчеты по возможным уязвимостям.
Релизы
- Поддержка процесса Continuous Delivery (CD). Возможность запуска CI/CD в различных окружениях (Windows, Mac, Linux), поддержка канареечных релизов, обеспечение безопасности пайплайнов.
- Оркестрация релизов. Отслеживание релизов, ассоциация релизов с этапами, управление доступом к защищенным окружениям.
Конфигурирование
- Управление Kubernetes. Поддержка работы с несколькими кластерами Kubernetes, разворачивание в кластере Kubernetes, управление переменными в зависимости от окружения.
- ChatOps и бессерверные вычисления. Разворачивание и другие операции из чата и поддержка выполнения функций через Knative.
Мониторинг
- Метрики. Мониторинг производительности приложений, кластеров kubernetes и самого Gitlab с возможностью отправки уведомлений.
- Управление инцидентами и логирование. Автоматическое создание инцидентов в случае превышения порогов и отправка логов во внешние системы.
Защита
- Web Application Firewall и безопасность контейнеров. Блокировка атак на веб-интерфейс и отслеживание жизненного цикла контейнеров.
- Сетевая безопасность. Поддержка микросегментации контейнеров для изоляции потенциально опасных контейнеров и применение политик безопасности.
Полный список возможностей приведен на сайте GitLab. Там же можно узнать подробнее о каждой.
Как установить и настроить GitLab на Ubuntu
Пока вы узнавали о возможностях GitLab, сервер успешно установлен и готов к работе. Подключаемся по SSH к серверу, переходим в директорию /tmp и загружаем установочный скрипт репозиториев GitLab:
# cd /tmp # curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
После загрузки скрипта, он необходимо добавить права на его исполнение:
# chmod 777 script.deb.sh
Теперь скрипт готов к исполнению и можно его запускать:
# bash /tmp/script.deb.sh
После установки репозитория, можно запускать менеджер пакетов apt и начинать установку GitLab:
# apt install gitlab-ce
После выполнения установки, появится сообщение о готовности GitLab к работе:

Для доступа к GitLab через веб-интерфейс, его необходимо настроить. Для этого откроем для редактирования конфигурации в файле /etc/gitlab/gitlab.rb и укажем переменной external_url в качестве значения URL-адрес сервера.
# vi /etc/gitlab/gitlab.rb
В нашем демо вместо имени используется IP-адрес.

Теперь, чтобы новая конфигурация вступила в силу, необходимо выполнить реконфигурацию GitLab:
# gitlab-ctl reconfigure
После окончания процесса конфигурации, откроется интерфейс GitLab и запрос на изменения пароля администратора.

После изменения пароля необходимо выполнить вход в GitLab:

GitLab полностью готов к работе и даже имеет тестовый проект.

Однако, GitLab по умолчанию работает по протоколу http. Чтобы переключить его на протокол https, необходимо изменить значения переменных letsencrypt[‘enable’], letsencrypt[‘contact_emails’] и в переменной external_url указать протокол https:
letsencrypt['enable'] = true external_url "https://" letsencrypt['contact_emails'] = ['test@example.com']
После внесения изменений в конфигурацию, выполним реконфигурацию GitLab:
# gitlab-ctl reconfigure
После реконфигурации GitLab, появится возможность подключаться к веб-интерфейсу по протоколу https.
Если GitLab установлен во внутренней сети и к нему требуется доступ извне, одним из вариантов организации такого доступа может быть настройка проксирования на nginx-сервере (или proxy_pass) с установкой на него ключа Let’s Encrypt. В этом случае в настройках GitLab можно спокойно оставлять доступ по протоколу http.
Иногда, при попытке доступа через веб-интерфейс, GitLab возвращает ошибку 502. Причины могут быть разные, но основные это: нехватка оперативной памяти, остановка службы gitlab-workhorse и изменение прав доступа к файлу /var/opt/gitlab/gitlab-workhorse/socket. В первом случае проблему решит добавление оперативной памяти, во втором перезагрузка сервисов GitLab, а в третьем предоставление сервису nginx доступа к файлу.
Как работать с GitLab
Чтобы упростить работу с репозиториями из командной строки, необходимо добавить собственные ssh-ключи в GitLab. Генерируем пару ssh-ключей:
# ssh-keygen -t rsa -f ~/.ssh/gitlab
Следующий шаг — вывод содержимого публичного ключа и его копирование в буфер обмена:
# cat ~/.ssh/gitlab.pub
В интерфейсе GitLab перейдем в раздел Settings:

Далее в раздел SSH Keys, где нужно вставить скопированный ключ. После этого можно нажать Add key.

Появится следующий экран:

На этом настройка к репозиториям через SSH-ключ завершена и пришло время создать новый проект. Для этого достаточно нажать на + в центральной части экрана и далее на New project.

Проекту нужно присвоить имя, а также выбрать тип проекта:
- приватный (Private),
- внутренний (Internal),
- публичный (Public).
В первом случае проект будет доступен только вам, во втором всем пользователям данной инсталляции GitLab, в третьем случаем всем подряд и без авторизации.
Нажимаем на кнопку Create project:

После создания проекта можно перейти к его настройке. Например, на представлении Members в проект можно пригласить новых пользователей с различными ролями: Guest, Reporter, Developer, Maintainer:

Основы GitLab — это работа с репозиториями. Теперь загрузим в этот проект имеющийся на рабочей станции git-репозиторий. Для начала добавим ссылку на удаленный репозиторий:
# git remote add origin git@:root/selectel-test-project.git
Теперь загрузим репозиторий в GitLab:
# git remote add origin git@:root/selectel-test-project.git
Теперь через веб-интерфейс GitLab можно просмотреть исходный код локального репозитория:

GitLab позволяет также загружать исходный код обратно на рабочую станцию. Для этого нужно выполнить следующую команду:
# git clone git@:root/selectel-test-project.git
Другой вариант загрузки — через веб-интерфейс. Для этого на странице проекта необходимо нажать кнопку ↓ и выбрать формат загружаемого архива:

Теперь разберемся, как в GitLab работать с ветками репозитория. По умолчанию работа ведется в ветке master и все предыдущие действия мы выполняли именно в ней. Для реализации изменений и их отслеживание, разработчику важно иметь собственную ветку, код из которой в дальнейшем можно будет передать в master-ветку.
Чтобы создать новую ветку, достаточно в выпадающем меню рядом с символом + нажать на пункт меню New branch:

Новую ветку также можно создать в локальном репозитории Git и затем загрузить её в GitLab. В веб-интерфейсе появится соответствующая запись о новой ветке.
Мы создали в проекте новую ветку development. В меню Settings — Repository можно выбрать ветку, используемую по умолчанию. После выбора нужно нажать на кнопку Save changes.

Поскольку разработка чаще всего ведется в нескольких ветках, в определенный момент времени появится необходимость выполнить их слияние. Cлияние веток — основа GitLab. В GitLab для реализации этого процесса предназначены запросы на слияние (Merge requests). Создадим в локальном репозитории новую ветку и назовем ее staging:
# git checkout -b staging
Создадим новый файл в репозитории и запишем туда произвольный текст:
# vi new-staging.txt
Добавим этот файл к репозиторию:
# git add new-staging.txt
Выполним коммит с комментарием:
# git commit -m "add feature"
И, наконец, загрузим новую ветку в GitLab:
# git push --set-upstream origin staging
Теперь можно проверить наличие новой ветки staging в интерфейсе GitLab. Перейдем в раздел Repository — Branches и обнаружим созданную ветку. Если перейти в нее, там будет созданный на предыдущих шагах файл new-staging.txt.

Перейдем в эту ветку и нажмем кнопку Create merge request:

Здесь нужно указать название слияния, его описание и, при необходимости, выбрать опцию уведомления заинтересованных пользователей. В нижней части этого экрана нужно нажать кнопку Submit merge request:

На следующем экране можно опционально нажать Approve, а затем нажать Merge:


Слияние веток репозитория выполнено.
Чем отличаются GitLab и GitHub
На специальной странице GitLab есть целая таблица сравнения в разрезе тех возможностей, о которых мы рассказывали в начале статьи. Ко всему этому можно добавить, что GitHub появился на 3 года раньше GitLab и является неким стандартом хранения репозиториев решений с открытым исходным кодом. А еще GitHub — полностью облачное решение, GitLab же может работать на локальном сервере или в облаке.

Использование того или иного инструмента обычно основано на предпочтениях людей, принимающих соответствующие решения. С каждым годом GitLab догонял по функционалу GitHub и сейчас уже во многом его превосходит.
Если говорить про отличия тарифов на GitLab и GitHub, оба решения имеют бесплатный тариф с возможностями использования приватных репозиториев. Все последующие тарифы оплачиваются в зависимости от количества пользователей в системе.
Какие существуют версии и тарифы GitLab
GitLab имеет две версии — Community Edition (CE) и Enterprise Edition (EE). У первой (именно ее мы устанавливали в этой статье) полностью открытый исходный код, а вторая построена на базе первой, но имеет дополнительные функции, код которых, увы, не открыт для всех желающих. Версия EE также бесплатная в базовой комплектации и производитель рекомендует использовать именно её, если планируется дальнейший переход на платные тарифы.
Линейка тарифов представлена на скриншоте ниже. Цена за пользователя зависит от тех функций, которые включены в подписку.

Ключевой особенностью подписок уровня Premium и Ultimate является поддержка производителя в режиме 24/7. По этой ссылке можно получить полное представление о возможностях каждой из подписок.
Заключение
Мы рассмотрели ключевые возможности GitLab. и основные моменты при установке и работе с этим инструментом. Самая полная документация доступна на странице производителя. Продукт активно развивается и его использование оправдано в проектах любой величины.
Что такое git push и как его использовать
Find the GitLab version
The version is displayed at the top of the page. For example, GitLab Enterprise Edition 16.3.0-pre 1e04d6b7fa9 indicates a pre-release version of GitLab 16.3.
Help & feedback
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there’s something you don’t like about this feature.
Propose functionality by submitting a feature request.
Join First Look to help shape new features.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get Help
If you didn’t find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).