Pull to refresh

Линус Торвальдс о GIT на Google Talks [видеоперевод 8 частей]

Version control systems *
Два года назад Линус Торвальдс рассказал представителям Google об использовании GIT (распределённой системы контроля версий) для ядра Linux. Посчитав, что многие могут пропустить эту интересную лекцию по причине незнания языка, я осмелился озвучить её по-русски.



а так же плейлист целиком.
пояснения...
Total votes 103: ↑100 and ↓3 +97
Views 3.8K
Comments 42

Mercurial для параллельной работы с несколькими похожими проектами, часть 1

Version control systems *

Введение


В статье рассматриваются несколько проблем (и полезных возможностей) при работе с mercurial и предлагаются варианты их решения.

Несколько проектов на одном фреймворке

Предположим, мы используем какой-то фреймворк сразу в нескольких проектах. Для этого мы, как правило, клонируем базовый репозиторий и начинаем менять в нём файлы, связанные только с нашим проектом, тестируем, коммитим, пушим — всё как обычно.
Внезапно… мы обнаруживаем, что в самом фреймворке есть баг или нам, ну просто сил нет, нужно добавить какую-то функциональность, да заодно потестировать её с текущим проектом.
При этом мы понимаем, что эти изменения должны рано или поздно попасть в репозиторий фреймворка.

Что же делать?
Читать дальше →
Total votes 34: ↑18 and ↓16 +2
Views 2.3K
Comments 9

Mantis + Subversion у себя на компьютере с Windows XP. Пошаговая инструкция для удобной организации работы с кодом

Version control systems *

Исторически сложилось, что багтрекер в нашей команде – это Mantis. Для работы над ошибками очень хорошая и простая в обучении система. Буквально садись и работай. Но для удобной организации работы ей явно не хватает связки с Subversion. В связке Subversion+Mantis помогают организовать работу с кодом небольшой команды программистов. Более подробно про организацию работы у нас я описал в прошлой статье.
А сейчас давайте поговорим, как установить Subversion у себя на компьютере и связать его с Mantis на сервере.
Читать дальше →
Total votes 60: ↑49 and ↓11 +38
Views 5.4K
Comments 43

Чего не может SVN

Version control systems *
Когда вышла версия SVN 1.5, помню, мы с коллегами очень обрадовались долгожданной поддержке записи истории переноса изменений (merge), которую до тех пор мы вели в комментариях к правкам и это, конечно, очень нас напрягало. На радостях нам в голову начали приходить различные идеи, как можно использовать эту новую возможность, и однажды мы решили реализовать с ее помощью модульность на уровне исходного кода.

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

Вначале ничего не предвещало проблем
Total votes 49: ↑43 and ↓6 +37
Views 2.1K
Comments 62

Системы управления версиями как инструмент совместной работы студентов

Website development *
И сразу к делу. Рассмотрим идею совместной разработки лабораторных/курсовых работ с помощью github



Ответственный студент Петя создает репозиторий, например по дисциплине «Параллельное программирование», где в первом коммите в ветке master доступен подготовленный проект с минимумом всего необходимого.
Читать дальше →
Total votes 69: ↑61 and ↓8 +53
Views 3.9K
Comments 58

Версионная миграция структуры базы данных: основные подходы

SQL *
Проблемы контроля версий баз данных и миграций между версиями уже не раз поднимались как на Хабре (1, 2, 3 и др.), так и в Интернете (преимущественно, англоязычном).

В первом разделе этой статьи я рассматриваю основные проблемы, которые возникают в командах программистов при внесении любых изменений в структуру базы данных. Во втором разделе я попытался выделить основные общие подходы к тому, в каком виде изменения структуры базы данных можно хранить и поддерживать в процессе разработки.
Читать дальше →
Total votes 89: ↑87 and ↓2 +85
Views 122K
Comments 82

Контроль изменения структуры БД

SQL *

Преамбула


Пару лет назад я и мои сотрудники столкнулись с проблемой сопровождения большого количества аналогичных БД на удаленных филиалах. Удалены они иногда на тысячи километров, а объемы исчислялись гигабайтами – что не позволяло использовать какое-либо зеркалирование серверов. Осложнялась ситуация мелкими отличиями, т.е. 95% бизнес-логики филиалов совпадало, но было ещё 5%, которые сильно мешали и ни о какой автоматической обработке группы филиалов не было и речи.
Читать дальше →
Total votes 59: ↑54 and ↓5 +49
Views 8.3K
Comments 42

FluentMigrator — система версионных миграций

.NET *
Sandbox

Здравствуйте. Что такое миграции и зачем они нужны хорошо рассказано в статье Версионная миграция структуры базы данных: основные подходы.
Я же хочу вам рассказать о системе версионных миграций: FluentMigrator. Почему мне нравится именно этот проект? Из-за приятного синтаксиса миграций и поддержки различных СУБД. Заинтересовались? Добро пожаловать под кат.
Читать дальше →
Total votes 27: ↑20 and ↓7 +13
Views 16K
Comments 12

Переезд проекта с SVN на Git

Website development *Git *Version control systems *
image
Много лет подряд в качестве системы контроля версий для большого количества проектов использовали только SVN. Но наступил момент, когда количество разработчиков на одном из проектов заметно увеличилось, проект уже запущен в работу, и нужно как активно разрабатывать параллельно несколько фич, так и фиксить уже имеющиеся баги в оперативном режиме. Единый trunk в SVN не позволяет этого делать, а организация бранчей в нем же превращает жизнь разработчиков в ад. Поэтому было принято решение о переезде этого проекта с SVN на Git.
Читать дальше о том, как это делается от А до Я
Total votes 119: ↑113 and ↓6 +107
Views 67K
Comments 51

Полезности Mercurial

Version control systems *Mercurial *
Думаю, почти все читающие знают, что такое Mercurial — это распределённая система контроля версий, для исходного кода и других (преимущественно текстовых) файлов. Многие ей пользуются, и знают основные команды, как то удаление/добавление файлов, создание коммита и отправка локальных изменений в другие репозитории. Однако, Mercurial имеет множество не столь известных функций и команд, которые часто достаточно полезны и удобны. Некоторые из них можно использовать сразу после установки по-умолчанию, некоторые нужно включить в настройках, а для других может потребоваться скачать дополнительное расширение.

Краткий список того, о чём пойдёт речь в статье:

  • hg serve (hgweb) — встроенный веб-сервер
  • расширения pager, progress и color
  • hg [c]record — выбор отдельных изменений для коммита
  • revsets и filesets — поиск коммитов и файлов с запросами любой сложности
  • hg evolve — Changeset Evolution или же «изменяемая история»


logo
Узнать подробности...
Total votes 37: ↑36 and ↓1 +35
Views 36K
Comments 50

Системы контроля версий: Fossil, часть I

Version control systems *
Tutorial
Приветствую вас, коллеги!

Относительно недавно здесь публиковался опрос по используемым системам контроля версий. Как и ожидалось, с большим отрывом победил Git, а Fossil даже не был включен в список, только в комментариях пару раз промелькнул. Поиск по Хабру показал, что здесь о Fossil практически ничего не писали. Поэтому я и решил опубликовать эту статью — тем более, что русскоязычная информация о Fossil крайне скудна и однообразна.
Читать дальше →
Total votes 50: ↑45 and ↓5 +40
Views 37K
Comments 77

Системы контроля версий: Fossil, часть II

Version control systems *
Tutorial
Продолжаем разговор о Fossil.

В первой части мы познакомились с использованием Fossil в однопользовательском режиме на одном рабочем месте. Следующий шаг — перенос репозитория на другой компьютер — с работы на домашний, или на ноутбук, который мы берем с собой в поездку. Самый простой вариант — это просто скопировать репозиторий, благо это всего один файл, на новое рабочее место. Можно так и сделать, но самое простое решение не всегда самое лучшее, есть вероятность, что возникнут небольшие проблемы.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 13K
Comments 8

To Git, or not to Git

Издательский дом «Питер» corporate blog Programming *Git *Version control systems *GitHub *
Здравствуйте!

Издательство «Питер» рассматривает возможность выпустить книгу по системе управления версиями Git.

Хотим посоветоваться с будущими читателями: какое издание вам будет наиболее интересно в русском переводе?
Мы сразу исключили книги ознакомительного уровня и выбрали три кандидатуры:

1. Новое издание (декабря 2014) книги Скотта Шакона

image

(Хотим сразу предупредить, что данная книга получится самой дорогой — розничная цена может достигать 1500 руб. Необходимо учесть это при принятии решения).

2. Классику от O'Reilly

image

3. Более краткое, но не сильно уступающее в информативности издание от Manning

image

Просьба голосовать:
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 26K
Comments 31

Почему я не испытываю неприязни к Git: скрытая целостность

Positive Technologies corporate blog Website development *Programming *Git *
Translation


Предлагаю вашему вниманию перевод небольшой статьи из блога Armin Ronacher — автора Flask, Jinja2 и много чего еще. На этот раз он поделится своими мыслями о Git — распределенной системе управления версиями файлов.

Git для меня интересная тема. Впервые я попробовал использовать Git, когда там не было вообще никакой системы команд, а Cogito считался многообещающим проектом. Не могу сказать, что мне это понравилось, в то время я в основном пользовался SVN, и он полностью решал все мои задачи. Вскоре я познакомился с Mercurial, и это была любовь с первого взгляда, положившая начало долгому и позитивному опыту использования этой VCS (version control system), которая получила в моем лице преданного сторонника. Только в 2008 году я перешел на Git, и мне потребовалось несколько попыток, прежде чем я понял, что пора переносить на него мои репозитории.
Читать дальше →
Total votes 71: ↑63 and ↓8 +55
Views 41K
Comments 83

Семантический перенос строк

Python *Semantics *VIM *Version control systems *
Translation

От переводчика:


Некоторое время назад на Хабре публиковался перевод статьи под названием "Искусство командной строки". Среди прочего, в статье было рекомендовано освоить vim. Исходник статьи, выложенный на Гитхаб, по иронии судьбы, оказался совершенно непригодным к редактированию именно этим редактором, так как в нём на один абзац приходилась ровно одна строка.


Я тогда выразил своё недоумение автору и попросил его выровнять текст на 80 символов. Но после непродолжительной дискуссии в коментариях дали ссылку на описание форматирования исходников литературных текстов по семантическому принципу. Идея, заложенная в этом принципе в общем довольно простая, но я был поражён её глубиной, которой, пусть и запоздало, хочу поделиться с окружающими.


Хочу предупредить, что не все ссылки в статье работоспособны, но я решил оставить их как есть — мало ли что.

Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views 11K
Comments 10

Визуализация кодовой эволюции

System Analysis and Design *Designing and refactoring *
Translation
image

От переводчика:


На этого интересного автора, Адама Торнхила, я набрел при поиске видео с конференции GOTO. Кому данная статья покажется интересной, советую посмотреть его выступление. Я немного заморочился с переводом (благодарен Тане за помощь!), потому что тематика показалась очень своеобразной, не встречал ранее аналогичные работы (буду рад ссылкам в комментариях!). Статья свежая, августа 2016, в оригинале называется Software ®Evolution — Part 1. В тексте идет повествования от первого лица, но имеется в виду автор оригинальной статьи.


Как эволюция кода позволяет понимать большие кодовые базы


Обычно плохой код – это надолго. Он не просто остаётся в конкретном файле, но ещё остаётся там на года, переживая своих создателей (внутри организации) и вызывая недовольство следующего поколения программистов, ответственных за поддержку. Изменения в таком коде являются рискованной деятельностью. Учитывая масштаб нынешних кодовых баз, мы нуждаемся в более эффективных инструментах для выявления подобных частей системы, так чтобы мы могли сделать коррекцию, приложить дополнительные усилия в тестировании или выполнить ревью кода. В этой статье мы используем данные по предыдущему поведению в сфере разработки для того, чтобы получить руководство к указанным решениям.


Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Views 7.9K
Comments 7

Заводим Git for Windows под ReactOS

Фонд ReactOS corporate blog Open source *System Programming *Reverse engineering *Development for Windows *

Всем доброго времени суток! image


Меня зовут Станислав, и я люблю писать код. Это моя первая статья на Хабре, на написание которой меня сподвигло несколько факторов:


  • Недостаток статей технического плана в хабе ReactOS
  • Недавнее возвращение Geektimes на Хабр
  • Возможность собрать ReactOS в ReactOS
  • Довольно интересный случай исправления проблемы в ReactOS, в котором я принимал непосредственное участие

Позвольте представить вам виновников данного торжества (исправленного бага, который мешал запуску Git в ReactOS) — французский разработчик Hermès Bélusca-Maïto (далее просто Гермес, с ником hbelusca), и собственно я (с ником x86corez).


История начинается со следующих сообщений из IRC-канала разработчиков ReactOS:


Jun 03 18:52:56 <hbelusca> Anybody want to work on some small problem? If so, can someone figure out why this problem https://jira.reactos.org/browse/CORE-12931 happens on ReactOS? :D
Jun 03 18:53:13 <hbelusca> That would help having a good ROS self-hosting system with git support.
Jun 03 18:53:34 <hbelusca> (the git assertion part only).
Читать дальше →
Total votes 74: ↑69 and ↓5 +64
Views 12K
Comments 40

Работа с распределенной системой контроля версий Git на примере GitHub

Programming *IT Infrastructure *Git *GitHub *Development Management *
Recovery mode
Работа с распределенной системой контроля версий Git на примере GitHub
Год начала данной публикации: 2019
Год окончания данной публикации: не указан





Теоретическая часть
Практическая часть
Настройка программы Git
Инициализация локального репозитория
Работа с удаленным репозиторием
Чтобы некоторые ваши файлы не попадали в репозиторий
Модели ветвления в Git
Выводы
.gitignore. Отправка только тех файлов в репозиторий, которые необходимы



Предупреждение по использованию:
Читать дальше →
Total votes 32: ↑21 and ↓11 +10
Views 52K
Comments 9

Введение в Git

Git *Version control systems *
Tutorial

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →
Total votes 40: ↑34 and ↓6 +28
Views 106K
Comments 27
1