LINUX.ORG.RU

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

 , , ,


11

2

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

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

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

И немного о грустном. Книга «Pro Git» выложена на GitHub под лицензией CC-BY-NC-SA, которая запрещает любое коммерческое использование оригинальной версии книги, а также любой производной работы. Поэтому издать версию книги на русском языке невозможно, как и продавать электронные версии в онлайн-магазинах. Поэтому команда переводчиков с благодарностью примет финансовую поддержку от читателей.

Наши реквизиты:

  • webmoney: R773517907660 (rub); Z477720561250 (usd)
  • яндекс.деньги: 410011547461467
  • paypal: koptev.oleg@gmail.com

Приятного чтения!

Перевел остатки яндекс.денег. Хоть и немного, но лучше, чем без дела будут лежать.

rsashka ()
Ответ на: комментарий от mashina

коммит куда, в никуда? Сделать нужно svnadm create, тот же самый git init

Ненужно, в svn один репозиторий на все проекты, там это норма.

итого, нужно выполнить одну команду, в обоих случаях.

Врать нехорошо.

Убогий и дырявый svnсервер из коробки юзают разве что трахнутые на голову идиоты.

Коллега, поздравляю, если вас беспокоит безопасность в локальной корпоративной сети, то мне вас жаль.

Для гита это тоже либо ssh, либо gitolite. Сложность настройки в обоих случаях практически одинакова.

Теперь вы обляпались, мультрипроектная конфигурация очень нетривиальна.

а если трака нет, то что дальше?

будет, управлять проектами на сортирной бумажке можете только вы.

у нормального разработчика ключ и так есть, его создавать не нужно

Вы о параноиках, разработчику ключ ненужен.

для svn, надо полагать, ничего запихивать никуда не нужно, оно щедро и даёт доступ кому попало?

Опять врать нехорошо, выше вы петросянили про регистрацию через trac.

Весь мозготрах с svn'ом проявляется каждый рабочий день на типовых операциях работы в команде.

когда команда работает над одним проектом, в моем случае каждый работает над своим проектом, максимум два человека над одним, они умудряются договариваться.

Deleted ()
Ответ на: комментарий от Deleted

Сталкивался с такими, обьяснить некоторые нетривиальные вещи внезапно сумел.

Негоже, товарищ, объяснить один раз и каждый день это разные вещи.

Deleted ()
Ответ на: комментарий от Deleted

Глупости. Для создания репозитория в git нужно локально сказать в корне проекта git init. Для того, чтобы раздать свой репозиторй команде, нужно в Git GUI со своего локального репо сказать Remote | Add…, показать на сетевую шару, доступную всем членам команды, отметить (*) Initialize Remote Repository and Push и подтвердить действие. Чтобы подключить к работе нового разработчика, надо обеспечить ему доступ к той шаре, где лежит центральный клон репозитория.

ssh-ключи как метод доступа к серверу — лишь один из частных случаев. У начинающих вместо них вполне может быть cifs-шара на виндовом сервере или даже на рабочей тачке одного из разработчиков.

Centaur ()
Ответ на: комментарий от Centaur

Для создания репозитория в git нужно локально сказать в корне проекта git init.

Ключевое слово «локально», а пускать каждого на сервер с сорцами нельзя.

У начинающих вместо них

у нас не начинающие (по хорошему нужно около 30 репозиториев если на каждый модуль), и исходники слишком ценная штука чтобы просто так расшаривать все корпоративные репозитории.

Deleted ()
Ответ на: комментарий от Deleted

среднестатистическому виндовому программисту

Среднестатистический виндовый программист может и TFS'ом пользоваться, который из коробки с вижуал студией.

он (программист) напишет заявление об уходе. Он не нанимался в сисадмины.

Если у компании нет денег держать сисадмина - ну печально это, жаль компанию, либо же это стартап на первом этапе развития. svn ведь тоже (внезапно) админы админят.

С dvcs при всей кажущейся сложности количество «админских» операций как раз сильно уменьшается по сравнению с централизованными. И вероятность утерять проект целиком намного меньше.

Ну никто не мешает и на локальном zfs-разделе все хранить и снэпшотить, конечно, но мерджить это потом будет очень весело. :)

zhuravlik ★★★★ ()
Ответ на: комментарий от Deleted

Когда для создания проекта надо неделю курить маны то народ будет хранить проекты в своих папочках (ха!), а в репозитории будет сидеть полтора человека.

Эм... Мне кажется, что svn сейчас тормозит развитие проектов масштаба Blender'а: у них есть несколько веток, но их слияние происходит уж очень медленно и в результате: часть новых фич в транке, а часть - раскидана по куче веток, которые непонятно когда будут слиты с транком. Но это мой взгляд свысока, и, возможно, я ошибаюсь.

X-Pilot ★★★★★ ()
Последнее исправление: X-Pilot (всего исправлений: 1)
Ответ на: комментарий от Deleted

В итоге пришлось остаться на svn где удаленный доступ из коробки и по паролям.

В гит тоже. Правда, это вовсе не good practice, но никакого ssh для git push не обязательно, оно работает с http и ~/.netrc.

sv75 ★★★★★ ()
Ответ на: комментарий от Deleted

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

Что, исходники даже прогерам не показываете?

tailgunner ★★★★★ ()
Ответ на: комментарий от Deleted

Это вы не понимаете, что если люди с трудом осилили svn, то git в его текущем виде они не осилят.

А! У вас идиоты без мотивации! Так бы сразу и сказали.

sv75 ★★★★★ ()
Ответ на: комментарий от derelikct

Книга - это всегда хорошо. А перевод не нужен.

А перевод не нужен.

Говори за себя!

anonymous ()
Ответ на: комментарий от zhuravlik

Ну никто не мешает и на локальном zfs-разделе все хранить и снэпшотить, конечно, но мерджить это потом будет очень весело. :)

Жесть. А это действительно возможно на уровне ФС (мёрдж)?

X-Pilot ★★★★★ ()

Хорошая книга, хорошая VCS, а перевод я думаю тоже не будет лишним, хотя я в свое время как-то обошелся оригиналом.

m0rph ★★★★★ ()

Люди, загоните гражданина subwoofer в игнор или просто не отвечайте ему. Судя по его попыткам без внятных аргументов оспорить любой ответ, он либо унылый тролль, либо просто демагог. Думаю, никто не хочет читать полотна бессмысленного флейма с этим неадекватом. Будет выёживаться сам по себе - попросим модераторов принять меры.

burjui ()

Хорошая новость

ps мигрировал с svn, очень доволен

mrdev ()
Ответ на: комментарий от X-Pilot

Не знаю. Я думаю, на уровне ФС невозможно мерджить, только версионировать. Поэтому я и говорю, что весело будет.

На illumos-dev когда-то обсуждалось совместное использование zfs и меркуриала в треде про жизнь новичков: http://openindiana.org/pipermail/oi-dev/2012-May/001456.html

Например,

I would zfs-clone my local hg-clone of illumos-userland source code repo three times, make the minor changes, and webrev them individually? Would that be the proper pattern?

zhuravlik ★★★★ ()
Последнее исправление: zhuravlik (всего исправлений: 1)
Ответ на: комментарий от derelikct

Книга - это всегда хорошо. А перевод не нужен.

Сегодня первый учебный день, Буратино азбуку продаёт, купи - научишься читать по русски.

Napilnik ★★★★★ ()
Ответ на: комментарий от Deleted

но проблема push без ssh остается.

осиль уже https наконец.

anonymous ()

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

chg ★★★★★ ()
Ответ на: комментарий от Deleted

если люди с трудом осилили svn, то git в его текущем виде они не осилят.

прости, ты набираешь персонал в интернате для «одарённых» детей?

anonymous ()
Ответ на: комментарий от Paused

С некоторых пор онлайн-версия - это PDF, открытый в Firefox.

Не для пользователей pentadactyl, к сожалению

dnoskov ()
Ответ на: комментарий от Deleted

Согласен в той части, что git'у нехватает изкоробочного способа управления доступом, т.к. сейчас приходится либо вручную контролировать каждого пользователя и каждый проект, либо использовать вещи вроде gitorious.

Когда для создания проекта надо неделю курить маны то народ будет хранить проекты в своих папочках (ха!), а в репозитории будет сидеть полтора человека.

А вот тут не согласен. Чего там курить-то? В простейшем случае достаточно нескольких команд
сервер:

git init --bare --shared </path/to/repository>
машина разработчика:
git init
git add <some files>
git commit -m "Initial import"
git remote add origin ssh://server/path/to/repository
git push origin master
При чем серверная часть в любом случае должна автоматизироваться какими-либо средствами. Можно на коленке слепить страничку, для управления репозиториями, а можно воспользоваться готовым решением. Но сути это не меняет, серверная часть должна быть предварительно подготовлена администратором. Если каждый разработчик будет городить что ему вздумается и где ему вздумается - это бардак в конторе. Да и на стороне разработчика можно сделать простейший скрипт для генерации проекта, если 4 команды очень сложно.

m0rph ★★★★★ ()
Последнее исправление: m0rph (всего исправлений: 1)

Последняя версия перевода книги доступна в форматах pdf, epub, mobi и fb2.

Столько форматов и ни одного нормальноконвертируемого - жмоты.

Napilnik ★★★★★ ()
Ответ на: комментарий от m0rph

А вот тут не согласен. Чего там курить-то? В простейшем случае достаточно нескольких команд

сервер:

При чем серверная часть в любом случае должна автоматизироваться какими-либо средствами.

О чем и речь, где из коробки эта автоматизация? На днях смотрел http://www.redmine.org/issues/2214 ха! 4 года, есть вроде какойто плагин для сего.

Deleted ()
Ответ на: комментарий от Napilnik

Столько форматов и ни одного нормальноконвертируемого - жмоты.

а взять из репозитория и сконвертировать в нормальный (это кстати какой) религия не позволяет?

Zay4egg ()
Ответ на: комментарий от dotbg

Жаль, что онлайн версию не обновляете.

Это не мы. У нас нет доступа к git-scm.org. Когда-нибудь обновится, но сложно сказать когда.

GArik ★★★ ()
Ответ на: комментарий от Zay4egg

а взять из репозитория и сконвертировать в нормальный (это кстати какой) религия не позволяет?

Тогда в таких новостях нужно пейсать пример комманды для скачивания книги на одном языке в форматах типа odt, html, mht. Если ты внимательно читал новость, книга описывает использование гита и счтобы её оттуда вытащить, её вначале нужно прочитать или полазить по потрохам репозитория.

(это кстати какой)

А ты не знаешь какие форматы нормально конвертируются в другие? Попробуй без сторонних платных приблуд сконвертировать pdf в html, обхохочешься.

Napilnik ★★★★★ ()
Ответ на: комментарий от Deleted

мне уточнить хочется. Это не ты ли коммишь с комментриями «новый кусок», «доделал», итд, а из комманд знаешь только update, commit и tag?

mrdeath ★★★★★ ()
Ответ на: комментарий от Deleted

если люди с трудом осилили svn

То их подпускать к компьютеру нельзя...

invy ★★★★★ ()
Ответ на: комментарий от Deleted

Судя по тоннам негатива от отписавшихся тут git некоторым влияет на психику.

С такой аргументацией вы никому не интересны.

cruxish ★★★★ ()

По теме: я читал man git, тоже весьма познавательно.

cruxish ★★★★ ()

Дайте ссылку - где почитать пять убедительных пунктов «SVN vs GIT», после которых сразу всё ясно. А то я пока всё что ни читаю вижу «шило и мыло».

kiverattes ★☆ ()
Ответ на: комментарий от Deleted

Это вы не понимаете, что если люди с трудом осилили svn, то git в его текущем
виде они не осилят.

Я не пытался осилить SVN, нифига не программист, но git-ом вполне пользуюсь. Не вот там прямо суперпользователь, но основы вполне понятны. Так что, говорите за себя.

AS ★★★★★ ()
Ответ на: комментарий от Deleted

Нормальный программист не должен обладать немотивированной страстью заниматься фигней не связанной с его деятельностью.

Такой программист увеличивает гемор всех остальных, которые вынуждены интегрировать его опусы в общую VCS, и качество каковых опусов обычно настолько оставляет желать лучшего, что приходится все за ним еще и переделывать. Узкая специализация, ха. Скорее фимоз головного мозга, мешающий обучаться даже примитивным вещам. Такого программиста надо увольнять путем утопления в помойной яме с конфискацией имущества.

shimon ★★★★★ ()
Ответ на: комментарий от Deleted

Когда для создания проекта надо неделю курить маны то народ будет хранить проекты в своих папочках (ха!)

Когда надо неделю курить маны, чтобы годами, потом, иметь минимум проблем, маны таки надо курить неделю. Можно и две.

AS ★★★★★ ()
Ответ на: комментарий от Deleted

А товарищь не в курсе что после показа сей книги среднестатистическому виндовому программисту

А при чём тут виндовые программисты ? Меня вот они меньше всего волнуют. Не надо им git ? Ну и хрен с ними.

AS ★★★★★ ()
Ответ на: комментарий от Deleted

Поддерживаю. Мне надо было для _своих_ проектов организовать контроль версий и svn мне показался намного более адекватным, чем git. Для 2-5 человек, когда каждый работает над своим проектом и коммитит на локальный сервер git это дикий оверхед(в геморрое в частности).

Loki13 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.