В процессе перехода с SVN на Git мы столкнулись с необходимостью переписывания наших внутренних инструментов, связанных с развёртыванием кода, которые ориентировались на существование линейной истории правок (и разработку в trunk). На Хабре уже публиковались возможные решения этой проблемы через Git-SVN, но мы пошли другим путём. Нам нужна поддержка таких возможностей Git, как branching и merge, поэтому мы решили разобраться в основах, как же работает Git и каким способом должна осуществляться интеграция с ним.
Читать полностью »
Метка «Git» - 8
Внутреннее устройство Git: хранение данных и merge
2012-12-25 в 9:35, admin, рубрики: Git, merge, Блог компании Badoo, Системы управления версиями, метки: Git, mergeПубликация приложения в Elastic Beanstalk
2012-12-21 в 10:42, admin, рубрики: Amazon Web Services, AWS, elasticbeanstalk, Git, Блог компании EPAM Systems Ukraine, метки: aws, elasticbeanstalk, GitПривет!
Сегодня я расскажу как легко создавать приложения в Elastic Beanstalk и публиковать их прямо из Git!
Для начала предлагаю установить утилиты командной строки для EB. Можно скачать отсюда, либо же воспользоваться моим скриптом для установки и обновления основных утилит по этой статье.
Установили. В консоли у нас появится команда eb, с которой мы и начнём.
1. Создание приложения
Для начала создадим папку приложения и инициализируем Git репозиторий. Например:
$ mkdir ~/Work/testapp/ && cd ~/Work/testapp/
$ git init
Создадим приложение Elastic Beanstalk
$ eb init
Чистый Контроль Версий
2012-12-18 в 13:47, admin, рубрики: Git, xcode, Блог компании Intel, контроль версий, разработка, метки: Git, xcode, контроль версий
Вступление
Всем привет, Серега снова с вами. Извиняюсь за долгое молчание и отсутствие в комментариях. Времени на интернет совсем не было. Выпускали очередную версию GPA. Кстати уже пятый раз в этом году — рекорд для нашей команды.
При таком темпе чем-то еще заниматься очень сложно. Особенно когда в сжатые сроки нужно портироваться на OsX, придать «человеческий» вид версии под Ubuntu и одновременно проникнуть внутрь изоляции приложения Windows 8 Store. Опять было множество споров о внешнем виде и работе System Analyzer. Очень сложно сделать инструмент красивым, простым и легким и в то-же время очень полезным.
Новая версия github:gist
2012-12-11 в 22:53, admin, рубрики: gist, Git, github, open source, контроль версий, метки: gist, Git, github, open source, контроль версийКоманда Github продолжает радовать своими обновлениями, и на этот раз они приглашают нас попробовать полностью обновленный github:gist.
Для тех, кто не был знаком с этим сервисом ранее — Gist предназначен для обмена кусочками кода (и не только кода) между людьми. В основе Gist лежит система контроля версий git, что делает возможным коллективную работу над материалом, поддержку форков и версионности.
Gist успел стать незаменимым инструментом в арсенале Open Source сообщества. Например, таким простым образом распространяется перформанс-патч для руби, упомянутый недавно на хабре.
Читать полностью »
Git Rebase: руководство по использованию
2012-12-06 в 9:31, admin, рубрики: Git, rebase, scm, метки: Git, rebase, scmRebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.
Теория
Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделагн 1 коммит B.
how to: Как и зачем работать с svn через git
2012-11-20 в 12:21, admin, рубрики: Git, svn, wapstart, Блог компании WapStart, велосипед, Системы управления версиями, метки: Git, svn, wapstart, велосипедДобрый день!
В статье я расскажу, как мы работаем с svn через git и почему не выбрали чистый git.
SVN
Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)
Плюс в том, что централизация дает возможность, например, нумеровать коммиты, т.к. их порядок известен.
Так же она минимизирует конфликты (хотя об этом можно и поспорить), т.к. текущее состояние репозитория одно и оно всем известно.
В svn можно хранить несколько проектов в одном репозитории. Вообще интефрейс репозитория в svn очень похож на файловую систему, что обеспечивает минимальный порог вхождения для тех, кто никогда не работал с системами контроля версий.
Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать полностью »
Git & Github глазами очевидца
2012-11-19 в 13:58, admin, рубрики: EPAM Systems, Git, github, Блог компании EPAM Systems Ukraine, метки: epam systems, Git, github Слово «Git» среди разработчиков, как правило, вызывает две диаметрально противоположные реакции. Один при его звуке начинает возбужденно делиться историями и опытом. Другой – говорит, что Git – это весьма опасный и сложный в изучении инструмент, вокруг которого в последнее время поднялась незаслуженная шумиха. Так кто же прав? Анализу этого вопроса и была посвящена встреча Git & Github в Киевском офисе EPAM Systems.
Читать полностью »
Простой релиз-менеджмент средствами Git
2012-11-18 в 10:51, admin, рубрики: Git, Программирование, Системы управления версиями, управление релизами, метки: Git, Программирование, системы управления версиями, управление релизами
Git – это не только удобная распределенная VCS, но и инструмент подготовки релизов.
В статье будет рассмотрен flow на примере Java-проектов на Maven. Статья может быть полезна для разработчиков малых и средних команд, подразумеваются базовые знания git. Материал частично перекликается с git-flow, но здесь описан более простой вариант.
В классическом случае в репозитории существует одна ветка master, из нее же делаются сборки. Если проект собирается при этом на build-сервере, это может привести к беспорядку – несколько разных билдов под одной версией, не ясен набор коммитов, которые попадают в релиз (например, если сборка делается автоматически по триггеру на VCS).
Групповая разработка сайтов через git — автоматическое создание/удаление сайтов из git-бранчей
2012-11-15 в 20:53, admin, рубрики: development, Git, hooks, linux, redmine, Веб-разработка, метки: development, Git, git hooks, hooks, redmine В этой статье я расскажу, как создать групповую среду разработки сайтов через git с помощью git-хуков. Статья рассчитана на опытных системных администраторов, я лишь опишу алгоритм.
Многое на эту тему уже обсуждалось, а я добавлю, как автоматически создавать или удалять сайты при создании/удалении бранчей в git-репозитории. Такая возможность может пригодиться, к примеру, если над разными частями сайта работают разные программисты и нужны разные площадки (бранчи). После основной разработки и тестирования выполняется merge в основную ветку, а бранчи и тестовые сайты удаляются или архивируются.
Собираем документацию ProGit, под Windows
2012-11-10 в 15:42, admin, рубрики: Git, pandoc, vbscript, метки: Git, pandoc, vbscriptПредисловие
Добрый день.
Вот уж, около полгода, наша компания перешла с системы контроля версий SVN на Git. О преимуществах или недостатках я писать не буду, их обсудили не раз. Ребята, которые этим занимались в нашей команде, написали несколько внутренних статей с основными сценариями: создание бранчей, мерджи и т.п.
Но жизнь преподносит свои сюрпризы и выход за основные сценарии всегда обозначался фразой WTF или говоря по русски «я думал Git сделает так, почему он сделал по другому?»
И всё сводилось к тому, что нужно читать документацию по Гиту. (А на чтение документации, всегда нет времени.)
По этому поводу была статья Завершён перевод книги «Pro Git» на хабре.
Но как оказалось, в документацию ещё вносятся изменения. Не часто, но всё же, тут хорошо видно, когда вносились последние.
И возникла идея слепить последний вариант доки…
Читать полностью »