Обновить
59.93

Git *

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

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

Sphinx-документация на GitHub Pages

Время на прочтение2 мин
Количество просмотров10K
GitHub Pages — это такая классная шизофреническая штука, которая может а)показывать созданную при помощи встроенного редактора страничку, б)генерировать Jekyll-блог и в)отображать html-файлы на произвольном домене.
В последнем образе она нас и интересует для размещения документации, написанной с использованием Sphinx.
Читать дальше →

Ежедневная работа с Git

Время на прочтение40 мин
Количество просмотров898K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.

Чем опасен rebase-2, или как rebase мешал баг искать

Время на прочтение2 мин
Количество просмотров35K
Однажды старший программист Антон, попивая кофе и вспоминая уволенного в предыдущей статье Васю, просматривал очередной тикет в багтрекере. В тикете было сказано, что одна из программ в очень важном проекте стала при некоторых условиях возвращать «BAD» вместо «GOOD». Недолго думая, Антон написал тестовый скрипт и приступил к поиску причины такого поведения.
testscript.sh
#!/bin/bash
result=`./project.sh`
echo $result
if [[ "$result" == "GOOD" ]]
then
    echo "Test passed"
    exit 0
elif [[ "$result" == "BAD" ]]
then
    echo "Test failed"
    exit 1
else
    echo "Can not apply test"
    exit 125
fi


git bisect start
./testscript.sh
git bisect bad
./testscript.sh
git bisect good
…

В компании использовали rebase, история коммитов была линейной, и поиск по ней доставлял Антону одно удовольствие.
Как вдруг:
— Хм… Проект не компилируется, тест прогнать не получится. Ну ладно, не беда, пропустим: git bisect skip.
— Что за ерунда? Опять не компилируется. Опять пропустим…
— Опять??? Какой @#$%^ запушил столько битых коммитов?
Читать дальше →

Чем опасен rebase, или как получилось, что 2*3=5

Время на прочтение2 мин
Количество просмотров96K
Однажды старший программист Антон искал причину очередного бага в очень важном проекте компании:
git bisect start
git bisect bad
git bisect good
…

В компании использовали rebase, история коммитов была линейной, и поиск по ней доставлял Антону одно удовольствие.
— Ага, нашел. Ну конечно: в коде написано «2*3=5», ещё бы оно работало с этим бредом! Какой @#$%^ это написал?
Читать дальше →

Зачем пользователи GIT-а редактируют свои коммиты

Время на прочтение2 мин
Количество просмотров57K
В последних двух выпусках Радио-T ведущие пытались обсудить GIT. Евгений (@Umputun) задавался вопросом зачем нужен rebase и очень удивился, когда я спросил, редактирует ли он коммиты. На мой взгляд, чтоб понять GIT, достаточно вникнуть в процесс разработки Linux Kernel, т к создавался он именно для этого.
Читать дальше →

Пять полезных советов при составлении коммит сообщения

Время на прочтение2 мин
Количество просмотров12K
image
Итак, Вы готовы сделать свой великолепный коммит, который, безусловно, делает код чуточку лучше, либо фиксить какой-то баг, а может, Вы и вовсе решили поменять переходы строк на Windows/Unix-Style? Естественно, Ваш код безупречен и достоин всевозможных похвал! Браво! Достойно ли Ваше сообщение Ваших трудов? Смогут ли потомки разобрать, что Вы сделали через месяц? Через год? Десять лет?

Прошу под кат!

Git FTP на примере в Windows

Время на прочтение1 мин
Количество просмотров13K
Данный пост для тех, кто уже освоил немного GIT, и хочет чтобы его жизнь стала ещё проще, а производительность выше! Т.е. делать push сразу на FTP сервер, к которому отсутствует доступ SSH.

Для работы с консолью я использовал Git Bash.

Я разделил пост на несколько этапов:
  1. Установка Git-Ftp
  2. Проверка установленного Git-Ftp
  3. Настройка репозитория
  4. Использование, загрузка на FTP сервер
Читать дальше →

Изменение кодировки git репозитория

Время на прочтение3 мин
Количество просмотров12K
Привет. В силу специфики, на работе используется Linux с KOI8-R, все коммиты в git репозиторий осуществлялись в локальной кодировке. Через некоторое время было принято решение перекодировать репозиторий в UTF-8. В этой статье я хочу обсудить технологию изменения кодировки существующего git репозитория, а заодно и исправления некоторых ошибок допущенных в определенных коммитах.
Читать дальше →

Коаны Гита

Время на прочтение3 мин
Количество просмотров38K
По мотивам «Коанов Вима».

Тишина
Что-то одно, но хорошо
Только богам
Хобгоблин
Длинное и короткое

Тишина


Python-программистка передала свой файл ~/.gitconfig мастеру Гиту. Среди строчек кода было следующее:

[alias]
; Явное лучше подразумеваемового. Если мы хотим выполнить слияние,
; нам следует сделать это самим.
pull = pull --ff-only

Мастер Гит кивнул. «git pull origin master», — сказала программистка.
Читать дальше →

GitHub Pages переезжают на github.io

Время на прочтение2 мин
Количество просмотров28K
Начиная с сегодняшнего дня все сайты GitHub Pages переходят на новый домен: github.io. Это мера безопасности нацеленна на предотвращение CSRF атак на главный сервер — github.com. Если ваш сайт настроен, как «yoursite.com» вместо «yoursite.github.com» — изменения вас никак не затронут.
Если ваш сайт раньше располагался на домене «username.github.com», последующие запросы будут редиректиться на новый домен: «username.github.io».
C этого момента все сайты, размещенные на субдоменах github.com могут и должны расцениваться как официальные продукты GitHub.
Читать дальше →

Работа с Git в Visual Studio 2012

Время на прочтение4 мин
Количество просмотров55K
imageНекоторое время назад была опубликована статья «Интеграция Team Foundation Services с Git и другие новые возможности». Нас очень порадовало, что читатели проявили к ней живой интерес и прислали нам отзывы и вопросы. Мы учтем их в процессе совершенствования наших инструментов и услуг, так что следите за нашими новостями. В этой публикации хотелось бы рассказать, как разработчики могут начать использовать инструменты Git в Visual Studio и сервис Git в TFS.
Читать дальше →

Github Visualizer — Сервис визуализации истории репозиториев с GitHub

Время на прочтение7 мин
Количество просмотров17K
Будучи поклонником программных продуктов для визуализации активности в репозиториях таких как code_swarm и gource. В один прекрасный день я был посещен музой, которая вдохновила меня создать онлайн сервис для визуализации статистики репозиториев с GitHub.
И сегодня хочу предоставить на ваш суд мой проект GitHub Visualizer (проект на GitHub).
Вот скринкаст для предварительного знакомства.

И не большая Gif'ка
image

Что использовано


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

Atlassian Bamboo в картинках

Время на прочтение5 мин
Количество просмотров66K
В этой статье я хотел бы поделиться своими впечатлениями от использования Atlassian Bamboo — системы непрерывной интеграции от компании Atlassian. В Java-проекте, над которым мы работаем, изначально в качестве системы управления использовалась JIRA On Demand, т.е. облачная версия JIRA, установленная на серверах компании Atlassian. В определенный момент появилась необходимость внедрения системы непрерывной интеграции. Важным требованием при выборе такой системы была поддержка из коробки системы автоматической сборки Gradle. Подобному требованию удовлетворяло лишь несколько систем непрерывной интеграции: всем известный Jenkins, Jetbrains TeamCity и Atlassian Bamboo. Под катом изложено как это работает и почему же мы выбрали Atlassian Bamboo. Осторожно — много картинок!
Давай уже картинки!

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

Enterprise-версия программы FizzBuzz с правильной архитектурой

Время на прочтение2 мин
Количество просмотров31K
Здравствуй, хабрачитатель. Я – редактор блога ABBYY. Сегодня утром ко мне пришли разработчики, принесли вот этот текст и попросили напечатать. Я не смогла придумать, почему этот текст должен появиться в корпоративном блоге, но разработчики говорят, что он смешной и принесёт радость людям. Так тому и быть!

Устали от полных кривизны и костылей сложных в поддержке программ? Постоянно слышите о правильной архитектуре, но так и не видели ее? Встречайте на Гитхабе Enterprise-версию программы FizzBuzz, показывающую, как должно выглядеть серьезное решение с правильной архитектурой.
Читать дальше →

Война закончена, все победили

Время на прочтение3 мин
Количество просмотров12K
На прошлой неделе Fog Creek объявила об окончании войны между Git и Mercurial. Точнее, проанонсировала таким экстравагантным образом выпуск Kiln 3.0 с поддержкой одновременной работы с репозиториями через Git или Mercurial.

Kiln это онлайн-хостинг Hg и Git репозиториев с продвинутой системой code review и управлением группами проектов и пользователей. В связи с новым релизом и провокационным утверждением по поводу войны DVCS, да и тем, что Kiln не очень широко представлен на Хабре, стоит упомянуть несколько ключевых моментов.

Например, что бесплатная версия Kiln не ограничена по времени если у вас до 2х пользователей…
Читать дальше →

Настраиваем SSH ключи на Node-ах Jenkins без ssh-доступа к ним

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


Всем привет! Думаю у каждого, кто когда-либо настраивал Jenkins для работы с Git-ом возникала проблема генерации ключей на Node-ах.

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

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

Git для Фоток. Большие репозитарии в Git

Время на прочтение7 мин
Количество просмотров22K
Идея использовать git для хранения всех своих фотографий.

Чего хотелось добиться?


  1. Скидывать фотки одной кучей (DCIM), а когда будет время сортировать по папкам.
  2. Скинуть фотки с одного компа, а работать с ними с другого.
  3. Чтобы перемещение-переименование фоток и папок волшебным образом синхронизировалось на всех компьютерах.
  4. Чтобы можно было редактировать фотки, но иметь возможность восстановить оригинал.
  5. Чтобы сохранялась история правок.

Как оказалось, GIT с большим трудом справляется с этой задачей.
Читать дальше →

Kiln Harmony — Mercurial + git в одном репозитории

Время на прочтение3 мин
Количество просмотров10K
Fog Creek – компания созданная Джоелом Спольски и, возможно, известная вам по продукту Trello, на прошлой неделе представила свой новый проект державшийся долгое время в тайне: Kiln Harmony. Это хостинг Mercurial (hg) и git репозиториев. К сожалению, исключительно платный, есть только 45 дней пробного периода. В чём же новость, спросите вы, если Mercurial + git хостинги уже есть на рынке и, в том числе, бесплатные, как Bitbucket.org? Особенность Kiln Harmony в том, что один репозиторий на хостинге одновременно является и Mercurial и git репозиторием! По заявлениям разработчиков великий холивар закончен и теперь вы можете соредоточиться на кодинге, а не на выборе системы контроля версий. Push и pull в единый репозиторий размещённый на Kiln Harmony из вашей любимой системы контроля версий (Mercurial или git) не требует установки отдельных расширений, типа hg-git, или других особых телодвижений, вся магия происходит на сервере.
Читать дальше →

Перемещение и переименование файлов в GitHub

Время на прочтение1 мин
Количество просмотров36K
С сегодняшнего дня вы можете перемещать и переименовывать файлы в репозиториях, прямо из веб интерфейса GitHub.

Переименование файлов


Теперь при редактировании файла можно указать новое имя.

image

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

Githubizer: автодеплой с Гитхаба на сервер

Время на прочтение2 мин
Количество просмотров16K
Интересно, скольким из вас приходилось хотя бы иногда, но повторять рутиные действия для настройки автодеплоя с гитхаба на сервер: создать ssh-ключ, добавить его для репозтория проекта на Гитхабе, создать скрипт, который будет слушать какой-то адрес, добавить вебхук в интерфейсе гитхаба, который будет дергать этот скрипт… Уфф… А что, если я скажу вам, что автоматизировал все эти действия по-максимуму? Да, теперь вам нужно выполнить всего пару команд и автодеплой запущен и работает! И все это благодаря Гитхабайзеру.
Читать дальше →

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