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

Немного истории

В самом начале 2010 года Vincent Driessen пишет отличную статью A successful Git branching model. Для понимания того, о чем пойдет речь дальше, со статьей нужно, конечно же, познакомиться. А для тех, кому сложен язык оригинальной статьи, на хабре есть её отличный перевод.

С этого момента описанная модель ветвления GitFlow, начинает, что называется, расходиться по миру. Её берут на вооружение многие команды. Авторы пишут много статей об успешном её использовании. Она получает поддержку в большинстве инструментов, которые используют разработчики:

Git

Кажется, что модель идеальна. Быть может так оно и есть, если у вас небольшая команда, неизменяемый скоуп релизов, высокая культура работы с VCS. Тогда, действительно, GitFlow может и удовлетворит все ваши потребности. Но, к сожалению, описанные условия подходят не всем командам и не всем проектам. К слову, найти статьи, в которых бы авторы описывали проблемы этой модели не так уж и просто даже в 2016 году. Но как мы все знаем, серебряной пули нет, а, значит, и в этой модели всё хорошо далеко не для всех.

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

Теперь платить нужно за число пользователей, а не приватные репозитории

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

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

Efficient Rails — новая книга по оптимизации процесса разработки Rails-приложений - 1

Эффективные Рельсы — более точного названия для книги придумать было бы сложно. Всё содержание описывается этими двумя словами и раскрывается для нас в сотне рецептов на 380+ страницах. В ожидании выхода финальной версии Rails 5, данное чтиво — то, на что стоит потратить время, благо потребуется его не так много. Но данное вложение вернётся колоссальной прибылью знаний и позволит, как говорится на обложке, «создавать Rails-приложения с нечеловеческой скоростью». Да и не только Rails, да и не только Ruby. Первые две главы включают в себя обилие информации по работе с терминалом и СКВ. Подробности под катом.
Читать полностью »

Как создать идеальный Pull Request - 1С ростом компании меняются люди и проекты. Не так давно в блоге GitHub появилась интересная статья, в которой автор рассказывает, как делать, а как лучше не делать Pull Request’ы. Перевод, традиционно, спрятан под катом.

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

Конфигурация сервиса Azure

Сначала мы займемся созданием нашей виртуальной машины на платформе Azure. В портале управления Azure ("Azure Management Portal") мы переходим по пунктам меню New > Compute > From Gallery ("Новый > Расчет > Из галереи").
1

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

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

Краткий вариант push -d, синоним push --delete

Это отличное дополнение как для полноты множества опций, так и для скорости набора команд. Возможно, вы уже используете git branch -d, чтобы удалять локальную ветку, а теперь можно так же сократить команду удаления remote-ветки до git push -d.

git branch -d my-branch       # удаляет локальную ветку, если она уже слита
git push -d origin my-branch  # удаляет remote-ветку в origin-репозитории

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

Доброго времени суток.
Я работаю Ruby разработчиком в стремительно растущей IT-компании. И вот однажды нами было принято стратегическое решение смены сервиса для работы с Git. Всех, кому интересно, прошу под кат.

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

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

Скала Улуру
Скала Улуру в Австралии как пример монолита — КДПВ, не более

Что такое монорепозиторий?

Определения разнятся, но мы будем считать репозиторий монолитным при выполнении следующих условий:

  • Репозиторий содержит более одного логического проекта (например, iOS-клиент и веб-приложение)
  • Эти проекты могут быть не связаны, слабо связаны или связаны сторонними средствами (например, через систему управления зависимостями)
  • Репозиторий большой во многих смыслах:
    • По количеству коммитов
    • По количеству веток и/или тегов
    • По количеству файлов
    • По размеру содержимого (то есть размеру папки .git)

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

С удовольствием делюсь новостью, которая, надеюсь, порадует некоторых читателей Хабра: в Bitbucket Server вот-вот появится возможность поиска по коду. Буквально на днях вышел релиз по программе раннего доступа (EAP).

Начну с вольного перевода обращения менеджера продукта, опубликованного в блоге Atlassian:

Как часто это случалось с вами: вы видите сообщение об ошибке, но не знаете, в какой части кода она происходит, или вам известно название функции, но не репозиторий, в коде которого она определена. Многие из вас просили добавить в Bitbucket Server поиск по коду, и я рад сообщить, что ваше ожидание подошло к концу. Сегодня мы приглашаем наших пользователей опробовать поиск по коду в Bitbucket Server через программу раннего доступа (EAP). Теперь вы можете искать и находить нужный код с помощью строки поиска:
Строка поискаЧитать полностью »

Дистрибуция приложений. Часть 1: создание Formula для Homebrew - 1

Вступление к серии

Передо мной недавно встала задача, как распространять одну консольную утилиту? Обычные мои инструменты вроде pip, npm и gem не подходили в силу языка самой утилиты — bash. Тогда стало понятно, что нужно распространять свое приложение в том числе и через системные пакетные менеджеры. Для Mac — в силу отсутствия встроенного — таких пакетных менеджеров несколько. И у каждого из них есть свои особенности и недостатки. И в первой части я хочу более подробно остановиться на Homebrew, и как создавать пакеты для него.

Ну а чтобы установить приложения на Linux, то нужно будет собирать пакеты таких форматов: .tar.gz, .deb и .rpm. О чем я расскажу во второй части.
Читать полностью »


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