Рубрика «Git» - 29

Сделано в МТИ: система контроля версий Gitless - 1

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

Простыми словами — мудреным приложением было трудно пользоваться. Поэтому в лаборатории Массачусетского Технологического Института взялись за улучшения и отсекли все «проблемные элементы» (ведь то, что для одного проблема, для другого легко может преимуществом). Улучшенную и упрощенную версию назвали Gitless. Её разрабатывали с учетом 2400 вопросов, связанных с Git и взятых с сайта разработчиков StackOverflow.

Команда авторов вычленила самые проблемные места в Git, включая две концепции staging и stashing. Затем они предложили изменения, призванные решить известные проблемы.
Читать полностью »

image

Читать полностью »

Некоторые скептически высказываются насчет ГитЛаба — мол вот вы перестанете поддерживать бесплатный Community Edition(CE), и что мы будем делать? Не перестанем. Публикуем для вас перевод статьи на эту тему.


Недавно мы зафиксировали нашу политику в отношении поддержки ПО с открытым кодом (open source) и нашу преданность этому методу разработки. Коротко нашу политику можно описать так: нужно принимать решения в интересах проекта, при этом не забывая о бизнесе, который этот проект поддерживает. В этой статье я хочу поделиться с вами соображениями о некоторых правилах в нашей политике.

Читать полностью »

OpenShift + Jenkins + Bitbucket, непрерывная интеграция и публикация из коробки - 1

В этой статье я покажу, как быстро развернуть среду для сборки, тестирования и публикации приложений используя платформу OpenShift на примере PHP проекта. Использовать буду OpenShift online, но всё это же можно развернуть и на собственных серверах или в VirtualBox (есть готовая сборка). Git-сервером для хранения и версионирования кода будет Bitbucket.
Читать полностью »

Ищем и анализируем ошибки в коде GitExtensions - 1

Как изестно Ядро Git представляет собой набор утилит командной строки с параметрами. Для комфортной работы как правило используются утилиты, дающие нам привычный графический интерфейс. Вот и мне довелось в свое время поработать с такой утилитой для Git, как GitExtensions. Не скажу, что это самый удобный инструмент, которым мне доводилось пользоваться (к примеру, тот же TortoiseGit мне нравится больше), но он явно и не безосновательно занимает свою нишу в списке любимых и проверенных утилит для работы с Git.

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

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

а. быть удобным в работе
б. давать полезную обратную связь.

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

Читать полностью »

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

Моя цель показать Вам, как с помощью нескольких maven plugin-ов можно сделать вывод в лог Вашей java программы названия ветки и хэш коммита из Git. Это полезно при анализе логов, если у Вас давно не было деплоя и история Вашего инструмента CI затерлась.
Читать полностью »

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

Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.

У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.

GitLab CI: Развертывание и среды развертывания - 1

Читать полностью »

В нашем блоге на Хабре мы рассказываем о различных технологиях из мира IaaS и не только. Например, недавно мы публиковали материал по программным реализациям VPN [Часть 1; Часть 2], а также рассказывали о DNS. Сегодня нам бы хотелось углубиться в тему разработки приложений и сервисов и поговорить о такой вещи, как Git, в частности, о способах оптимизации работы с ним.

Несколько способов оптимизации работы с Git - 1
/ фото hackNY.org CC
Читать полностью »

image
Думаю, многие программисты в тот или иной момент сталкивались с тем, что нужно как-то решить проблему с доставкой обновлений своего ПО до пользователей.
Способов ее решения множество, я хочу предложить еще один, который мне показался интересным. Он не претендует на звание идеального, но имеет право жить.
Всем программистам я думаю известно, что такое GIT (распределённая система управления версиями), данный способ публикации приложения основан на данной системе.

Но при использовании GIT под Windows есть некоторые проблемы, например все найденные мною клиенты GIT, даже в Portable (без установки) версии:
• Занимают много памяти на диске, много требуется скачивать (от 15 до 450 МБ)
• Содержат множество папок и файлов, неудобно их все переносить вместе со своим приложением

Решением данных проблем я и занялся. Что из этого вышло:
Клиент для GIT, который имеет 2 функции (Clone и Pull) на основе LibGit2Sharp
Вес клиента 1,5 Мб в архиве и 3 Мб на диске
Запуск из командной строки
• Всего 5 файлов, которые при желании можно объединить в 1. (1 исполняемый и 4 dll библиотеки)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js