Как стать автором
Поиск
Написать публикацию
Обновить
34.4

Git *

Система управления версиями файлов

Сначала показывать
Порог рейтинга
Уровень сложности

Собираем документацию ProGit, под Windows

Время на прочтение3 мин
Количество просмотров5.7K

Предисловие


Добрый день.

Вот уж, около полгода, наша компания перешла с системы контроля версий SVN на Git. О преимуществах или недостатках я писать не буду, их обсудили не раз. Ребята, которые этим занимались в нашей команде, написали несколько внутренних статей с основными сценариями: создание бранчей, мерджи и т.п.
Но жизнь преподносит свои сюрпризы и выход за основные сценарии всегда обозначался фразой WTF или говоря по русски «я думал Git сделает так, почему он сделал по другому?»

И всё сводилось к тому, что нужно читать документацию по Гиту. (А на чтение документации, всегда нет времени.)
По этому поводу была статья Завершён перевод книги «Pro Git» на хабре.
Но как оказалось, в документацию ещё вносятся изменения. Не часто, но всё же, тут хорошо видно, когда вносились последние.

И возникла идея слепить последний вариант доки…
Читать дальше →

Машина времени в git

Время на прочтение5 мин
Количество просмотров196K
В последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.

В этой статье я хочу рассказать о командах git checkout и git reset с ключами --soft и --hard.
Читать дальше →

Git up и все все все

Время на прочтение2 мин
Количество просмотров26K
Комманда git up (аналог svn up) добавляется так:
git config --global alias.up '!(git add . && git stash && git pull --rebase >&2) | grep -v "No local changes to save" && git stash pop'

git up при надобности ныкает все ещё незакоммиченные изменения в stash, обновляет локальную ветку до свежайшей и восстанавливает локальные изменения назад. В том числе переносит ещё неотправленные локальные коммиты в самый конец, делая историю линейной как в Subversion, т.е. избегая лишних веток и merge-коммитов.
Читать дальше →

Обзор кода в комментариях

Время на прочтение3 мин
Количество просмотров15K
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали

Установка Gitorious на Centos 6

Время на прочтение8 мин
Количество просмотров12K
image
Gitorious – open source альтернатива GitHUB, написан на RoR, использует ActiveMQ (в данном случае Stomp)
Установка производилась на свежеустановленный дистрибутив CentOS-6.2-x86_64-minimal. Все команды выполняются от root, там где нужен другой пользователь будет соответствующее указание.

Время на установку ~3 часа
Читать дальше →

Безболезненная миграция с Gitosis на Gitolite

Время на прочтение2 мин
Количество просмотров7K
Gitosis уже не поддерживается, и не за горами стабильный релиз Debian Wheezy, на котором его уже не будет. Поэтому было принято решение о миграции на gitolite. Не смотря на то, что есть соответствующий мануал, он не даёт ответа на вопрос — «Как это сделать и ничего не сломать?». Об этом сейчас и пойдёт речь.
Читать дальше →

Быстрое развертывание небольших web-приложений на сервере посредством git push

Время на прочтение2 мин
Количество просмотров23K

Контекст


Предположим мы поддерживаем небольшой web-проект. У нас есть песочница для разработки с git'ом, отладчиками и прочими полезными вещами. Сайт уже запущен, и код скопирован из песочницы на удаленный сервер. Код приходится иногда (а возможно и частенько) обновлять и дорабатывать. Любые изменения естественно обкатать в песочнице. И тут возникает вопрос: как максимально просто и удобно обновить код на сервере?

Первым же решением, пришедшим в голову, оказывается простая команда git push: мы пушаем в удаленный репозиторий и получаем обновленную версию кода на сервере. Но не все так просто.
Читать дальше →

Атака патентных троллей на Github

Время на прочтение1 мин
Количество просмотров29K
Точнее, на rackspace за то, что хостят гитхаб.

pdf'ка с заявлением в суд.

Среди истцов не только патентный тролль (некая Personalweb Technologies LLC), но ещё каким-то образом L3 communication (крупный ISP).

Цитата:

Rackspace has infringed and continues to infringe the ’791 patent by its manufacture, use, sale, importation, and/or offer for sale of the following products and services within the PersonalWeb Patent Field: Rackspace Cloud Servers and GitHub Code Hosting Service. Rackspace further contributes to and induces others to manufacture, use, sell, import, and/or offer for sale these infringing products and services. Rackspace is liable for its infringement of the ’791 patent pursuant to 35 U.S.C. § 271.


Список патентов:
Читать дальше →

Поднимаем собственный git сервер GitBlit на хостинге Openshift

Время на прочтение4 мин
Количество просмотров26K


Привет, Хабр!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.

Хочу халявный git-сервер!

Завершён перевод книги «Pro Git»

Время на прочтение1 мин
Количество просмотров198K
Что может быть лучшим подарком на день знаний для программиста? Конечно, полезная книга ;) Поэтому команда переводчиков «Pro Git» поднапряглась и доделала перевод книги на русский язык.

«Pro Git» — это довольно обширная обучающая книга о Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Автор рассматривает в тексте всевозможные аспекты работы с Git'ом, начиная с установки программы и базовых принципов работы децентрализованных систем контроля версий, и заканчивая рассмотрением внутреннего устройства Git'а и созданием валидных объектов в базе Git'а собственными руками. Несмотря на довольно обширный материал и затрагивание довольно специфических тем, книга написана довольно простым языком, содержит массу примеров и иллюстраций, и поэтому должна быть понятна и новичкам, только начинающим знакомиться с системами контроля версий.

Последняя версия перевода книги доступна в форматах pdf, epub, mobi.
Также доступна онлайн-версия перевода, но она, к сожалению, не обновлялась с мая.
Читать дальше →

Встречаем Veracity — новую распределенную систему контроля версий

Время на прочтение7 мин
Количество просмотров6K

Здравствуй, мой любознательный %username%!

Несколько месяцев назад я случайно наткнулся на еще одну перспективную систему управления версий — Veracity, о которой и хотел бы сегодня рассказать, чтобы тебе было что поковырять на выходных. Несмотря на то, что разработка Veracity идет уже больше года, на Хабре ее имя было лишь пару раз вскользь упомянуто в комментариях. Под катом тебя ждет краткое описание Veracity и ссылки, где можно получить более подробную информацию о ней.
Хочу!

Публикация сайтов Windows Azure с помощью Git

Время на прочтение5 мин
Количество просмотров3.6K
image

Git — это популярная система управления распределенными версиями с открытым исходным кодом. Новые сайты на Windows Azure могут использовать репозиторий Git, чтобы быстро и легко передавать изменения кода на сайт. В этой статье мы расскажем, как использовать систему Git для публикации на веб-сайте Windows Azure из любой операционной системы.

Примечание. Многие описанные в этой статье команды Git выполняются автоматически при создании веб-сайта с помощью инструментов командной строки Windows Azure для Mac и Linux.

Выполните следующие действия:

  • Установка системы Git
  • Создание локального репозитория
  • Добавление веб-страницы
  • Включение репозитория веб-сайта
  • Добавление веб-сайта в качестве удаленного репозитория
  • Публикация и повторная публикация веб-сайта
  • Устранение проблем

Установка Git


Действия по установке Git зависят от операционной системы. Сведения о конкретных дистрибутивах операционных систем и руководство по установке приведены в разделе «Установка системы Git».
Читать дальше →

Фото после каждого коммита (Win)

Время на прочтение1 мин
Количество просмотров2K
Приятного времени суток!

Ох, жуть как зацепила статья alizar Фотографируемся после каждого коммита (Linux, OSX). Но в силу особенностей своей ОС, предложенные решения мне, слегка, не подошли. Проведя немного времени в поисках и не получив искомого результата, было принято решение сделать что-то простенькое (just for fun, with Demonix) для решения данной задачи…
Читать дальше →

Ближайшие события

«Gerrit Code Review»: краткое руководство с картинками

Время на прочтение8 мин
Количество просмотров68K

Red and Blue Chair by Gerrit Rietveld (1918)

В компании Badoo есть отдел C/C++-программистов. Отдел довольно небольшой, и потому его сотрудники обычно работают над разными проектами, которые между собой пересекаются только в исключительных случаях.

Одним из негативных последствий такой ситуации является bus factor, который стремится к единице. Для решения этой и других проблем было решено в порядке эксперимента внедрить систему ревизии кода (англ. code review): назначить одного разработчика ревизором у другого и таким образом познакомить его с кодом, а заодно и повысить качество последнего.

Читать дальше →

Github впервые получает инвестиции

Время на прочтение2 мин
Количество просмотров2.2K


Github совершает новый шаг вперед: впервые с момента основания в 2008 году компания получает инвестиции. Администрация репозитория свободного кода сообщила в понедельник о договоренности по финансированию в 100 млн. долларов США от фонда Andreessen Horowitz на улучшение и расширение платформы, которая уже стала промышленным стандартом для управления и поиска кода в сети. Фонд оценил стоимость компании в 750 млн. долларов США.

Питер Левин, партнер фонда Andreessen Horowitz, присоединится к команде Github. Денежные средства будут использованы для найма дополнительных сотрудников и расширения на новые платформы, например, на мобильные устройства. Исполнительный директор Github Том Престо-Уэрнер выразил надежды не только разработать новые функции, но и улучшить старые, к примеру, веб-приложения для различных операционных систем. Планируется сделать Github удобным широким массам клиентов, от энтузиастов до крупных компаний, от разработчиков программного обеспечения до дизайнеров и писателей.
Читать дальше →

Github для Android

Время на прочтение1 мин
Количество просмотров14K


Команда Github с радостью объявляет о выходе мобильного приложения Github для Android, прямо сейчас доступного в каталоге Google Play и в соответствующем репозитории (там принимаются заявки на новые фичи и сообщения о багах).
Читать дальше →

Изучить Github за 15 минут

Время на прочтение1 мин
Количество просмотров127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.

Фотографируемся после каждого коммита (Linux, OSX)

Время на прочтение1 мин
Количество просмотров4K
Программа imagesnap (OSX) позволяет делать фотографии веб-камерой из командной строки. Например, она может автоматически фотографировать программиста после каждого коммита в репозиторий git, нужно всего лишь добавить следующий код в .git/hooks/post-commit.

#!/usr/bin/env ruby
file="~/.gitshots/#{Time.now.to_i}.jpg"
puts "Taking capture into #{file}!"
system "imagesnap -q -w 3 #{file}"
exit 0

Потом кадры собираются в видеоролик программой tlassemble.
Читать дальше →

Защита gitlab и gitolite от подбора паролей и ключей

Время на прочтение3 мин
Количество просмотров5.8K
Совсем недавно на мой сервер с git репозиторием началась атака по подбору паролей к gitlab и ключей к ssh. Намерения злоумышлеников понятны — вытащить исходный код проприетарного приложения хранящегося в git.

Мне не совсем понятны попытки подбора ssh-ключей, т.к. проблематично подобрать RSA-ключ (это займет десятки лет), но я всё же сделал некоторые ограничения для того что бы не так сильно «загаживались» логи.

Кому интересно как защитить gitolite и gitlab (работает за nginx) от подбора паролей — добро пожаловать под кат.
Читать дальше →

Вклад авторов