Git |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
Git |
Поделиться |
3.5.2015, 13:24
Сообщение
#1
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Тема про git вообще и про его использование в сообществе ALT Linux в частности. Открыта она в связи вот с этим предложением. Первый вопрос: если ничего толком про git не знаешь, то что почитать, чтобы войти в курс дела?
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
3.5.2015, 16:52
Сообщение
#2
|
|
Странник Группа: Пользователь Сообщений: 40 Регистрация: 4.4.2015 Вставить ник Цитата Пользователь №: 2795 Страна: Россия Город: Нижний Новгород Пол: Муж. Репутация: 3 |
Про git вообще
https://git-scm.com/book/ru/v1 Применительно к Alt http://www.altlinux.org/Git Я, конечно, не велик спец, но, если что, помогу. И на нашем Вики много документации. |
|
|
3.5.2015, 18:59
Сообщение
#3
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Перетащил в важные темы, пользоваться git-ом не обещаю , но почитаю об этом с удовольствием
|
|
|
4.5.2015, 10:19
Сообщение
#4
|
|
Специалист Группа: Пользователь Сообщений: 128 Регистрация: 21.10.2011 Вставить ник Цитата Пользователь №: 2177 Страна: Украина Город: Москва Пол: Муж. Репутация: 5 |
Применительно к Alt http://www.altlinux.org/Git Не только применительно к альту -- на этой страничке отличная секция ссылок именно на такие случаи. Почитать стоит "everydy git with 20 commands or so", а если не спеша и фундаментально -- Pro Git (есть и русский перевод, и epub). И если что -- спрашивай :) -------------------- |
|
|
4.5.2015, 20:48
Сообщение
#5
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Почитал более-менее (в основном первые главы "Pro Git"). Это всё очень интересно. Но не могу вот так сразу без очевидной причины сменить привычную среду (в которой и сейчас активно работаю) на иную - потому что переход требует какого-то времени, а с ним проблемы. Вот сделаю git-репозиторий для Навигатора... дальше что будем делать? Это к Дмитрию вопрос, видимо.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
5.5.2015, 1:00
Сообщение
#6
|
|
Профессионал Группа: Пользователь Сообщений: 1764 Регистрация: 28.7.2010 Вставить ник Цитата Из: Берислав, Херсонщина Пользователь №: 1879 Страна: Украина Город: Не указан Пол: Муж. Репутация: 9 |
Еще в 2012-м выложил эту книгу у себя. Обновил на вторую редакцию.
Сообщение отредактировал Drool - 5.5.2015, 1:11 -------------------- |
|
|
5.5.2015, 2:55
Сообщение
#7
|
|
Странник Группа: Пользователь Сообщений: 40 Регистрация: 4.4.2015 Вставить ник Цитата Пользователь №: 2795 Страна: Россия Город: Нижний Новгород Пол: Муж. Репутация: 3 |
Почитал более-менее (в основном первые главы "Pro Git"). Это всё очень интересно. Но не могу вот так сразу без очевидной причины сменить привычную среду (в которой и сейчас активно работаю) на иную - потому что переход требует какого-то времени, а с ним проблемы. Вот сделаю git-репозиторий для Навигатора... дальше что будем делать? Это к Дмитрию вопрос, видимо. Ээээ... Очевидных причин, очевидно, две: удобство для себя- видно историю изменений, и для коллег- удобство импорта-экспорта кода. И еще множество других-прочих. В Альте, кмк и везде, инструменты для работы с гитом уже настолько отполированы, бери и пользуйся. mkdir someproject.git ; cd someproject.git ; git init-db ; gear-srpmimport ../someproject.rpm Всего делов-то. И опубликовать. Простейший гит-репо, кмк, проблем вооще не имеет, одни только удобства. И как прикажете собирать тот же spacefm, если исходник у него в гите? Или icewm? Мне для сборки хватает git, gitk, gear и нескольких однострочников для запуска в настроенной среде. Вот ещё бы стандартизовать эти настройки сборочной среды. Но об этом потом. |
|
|
5.5.2015, 12:19
Сообщение
#8
|
|
Специалист Группа: Пользователь Сообщений: 128 Регистрация: 21.10.2011 Вставить ник Цитата Пользователь №: 2177 Страна: Украина Город: Москва Пол: Муж. Репутация: 5 |
Но не могу вот так сразу без очевидной причины сменить привычную среду Гляньте everyday git, там буквально школьная методичка по объёму -- и попробуйте начинать с m-p-d, который уже в гите: Код git clone git://git.altlinux.org/people/boyarsh/packages/mkimage-profiles-desktop.git git checkout p7 потом распакуйте свои наработки туда же, чтоб перекрыли, и Код git status git diff если в статусе фигурируют новые файлы -- их надо git add (или git add . для всего текущего каталога), а затем Код git commit -a -m 'my changes as of today' и можно посмотреть git log --decorate, git log -p, можно найти, кто последний трогал каждую строчку файла (git blame файл)... в общем, вдруг появляется масса полезнейшего инструментария для работы с историей изменений. Например, когда что-то никак не получается доделать до точки, git diff -- это палочка-выручалочка: "что я там вчера оставил перед сном?". Коммиты лучше делать небольшими, посвящёнными одному законченному изменению -- при необходимости последовательность таковых можно относительно небольшими усилиями переработать при помощи git rebase -i, но это уже малость нетривиальные темы (но очень удобно -- сперва работаешь над кодом, затем наработанное раскладываешь по полочкам, внятно комментируя, что зачем было сделано так). -------------------- |
|
|
5.5.2015, 15:21
Сообщение
#9
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Через несколько дней сделаю новую версию Навигатора, в которой будет переключение между m-p и m-p-d и возможность собирать в m-p, для начала, хоть какой-то из уже имеющихся в нём дистрибутивов. Вот этой версией и можно заняться в git'е. А прямо сейчас мне просто нечего предложить для совместной разработки. Старую "mpd-only" версию дорабатывать бессмысленно, она всё равно скоро будет удалена. А версия "mpd+mp" не готова, я там даже не все пути к файлам успел привести в соответствие с изменившейся структурой каталогов. А производить этот переход с "mpd-only" на первичный "mpd+mp" уже в git'е... ну не буду усложнять, доделаю эту операцию так, как начал.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
6.5.2015, 14:57
Сообщение
#10
|
|
Специалист Группа: Пользователь Сообщений: 128 Регистрация: 21.10.2011 Вставить ник Цитата Пользователь №: 2177 Страна: Украина Город: Москва Пол: Муж. Репутация: 5 |
Через несколько дней сделаю новую версию Навигатора Так я не про него, а про ту копию m-p-d, в которую вносите свои правки :) (кстати, с m-p это ещё актуальней будет, т.к. стараюсь собирать изменения, сделанные другими людьми, в основную ветку) -------------------- |
|
|
6.5.2015, 17:31
Сообщение
#11
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Лучше я начну знакомство с Git'ом с того, что затолкну в него Навигатор. Кстати, для сборки в нём какого-нибудь (я взял для пробы tde.iso) из уже имеющихся в m-p дистрибутивов потребовалась лишь одна небольшая правка конфига в m-p. И я вообще ориентируюсь на то, что в итоге надо бы наладить работу Навигатора с, так сказать, чистым m-p, а не с его прилагаемым к программе хакнутым вариантом. Это с вашей помощью, конечно. Думаю, надо сразу иметь в виду такую перспективу. Сейчас ещё разберусь с побочными эффектами, вызванными прикручиванием m-p к Навигатору, и, видимо, завтра выложу его версию с хотя бы базовой поддержкой m-p. Вот ей место в Git'е. Только лучше укажите в точности, что именно мне делать, куда и как этот новоявленный git-репозиторий выкладывать. С учётом того, что в его составе хакнутый m-p-d и чуть-чуть изменённый m-p. И я же не знаю определённо, что потом с этим будете делать в Git'е вы и Дмитрий, и вообще обстановка для меня в этом плане неопределённая, так что лучше уж предложите оптимальный вариант, его и реализуем.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
7.5.2015, 15:15
Сообщение
#12
|
|
Специалист Группа: Пользователь Сообщений: 128 Регистрация: 21.10.2011 Вставить ник Цитата Пользователь №: 2177 Страна: Украина Город: Москва Пол: Муж. Репутация: 5 |
Кстати, для сборки в нём какого-нибудь (я взял для пробы tde.iso) из уже имеющихся в m-p дистрибутивов потребовалась лишь одна небольшая правка конфига в m-p. А какая правка, можете патч показать или прислать почтой? И я вообще ориентируюсь на то, что в итоге надо бы наладить работу Навигатора с, так сказать, чистым m-p, а не с его прилагаемым к программе хакнутым вариантом. И это правильно. Только лучше укажите в точности, что именно мне делать, куда и как этот новоявленный git-репозиторий выкладывать. С учётом того, что в его составе хакнутый m-p-d и чуть-чуть изменённый m-p. И я же не знаю определённо, что потом с этим будете делать в Git'е вы и Дмитрий, и вообще обстановка для меня в этом плане неопределённая, так что лучше уж предложите оптимальный вариант, его и реализуем. m-p лучше выбросить из состава как только получится, а текущий забирать из git://git.altlinux.org/people/mike/packages/mkimage-profiles.git -- как вариант, можно дальше брать (git checkout) ветку 1.0, а не master, там изменений почти нет, а для сборки на t7 и, возможно, даже на t6 (под который есть отдельная одноименная ветка) целей довольно много. Вообще для включения сторонних и автономно развивающихся проектов в гите тоже есть механизм (submodules), но сама такая практика обычно является порочной -- особенно если приходится включаемый проект серьёзно изменять, порождая таким образом форк. Как выкладывать -- например, опубликовать на том же github по штатной документации. Меня пока более всего интересуют патчи для m-p, чтобы или принять и Вам их не надо было у себя держать, или объяснить, почему так делать не надо, и рассказать, как было задумано. -------------------- |
|
|
7.5.2015, 16:31
Сообщение
#13
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
А какая правка, можете патч показать или прислать почтой? Открыл отдельную тему "Mkimage-Profiles и DistroNavigator" А с Git'ом попробую сейчас разобраться. -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
8.5.2015, 20:16
Сообщение
#14
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Что-то в этом роде? Забросил туда весь каталог с исходниками ДистроНавигатора.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
10.5.2015, 23:17
Сообщение
#15
|
|
Странник Группа: Пользователь Сообщений: 40 Регистрация: 4.4.2015 Вставить ник Цитата Пользователь №: 2795 Страна: Россия Город: Нижний Новгород Пол: Муж. Репутация: 3 |
Что-то в этом роде? Забросил туда весь каталог с исходниками ДистроНавигатора. Ну да, примерно так. Не могу удержаться :-) , я недавно, помните, собирал udevil. Это я бы назвал лабораторкой для себя, поскольку собирал с нуля, только с документацией и некоторым опытом. Это тут https://github.com/jinn-alt/udevil/tree/sisyphus Бранч master - оригинальный исходник, sisyphus - бранч, из которого собран готовый пакет, бранч alt-specific - там патч для сборки в Альт, затрудняюсь назвать иначе. Надеюсь, поможет в освоении гита, только лучше смотреть не через веб, а локально, но это ИМХО, через gitk мне нагляднее, чем вебом. |
|
|
11.5.2015, 18:17
Сообщение
#16
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
Попрактиковался немного с Git'ом, после чего снёс пробный репозиторий (у себя и на сервере) и создал его заново (содержимое - исходники ДистроНавигатора на сегодняшний день), сделал первый пробный коммит. Вроде всё правильно. Пожалуй, так и буду продолжать
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
13.5.2015, 1:41
Сообщение
#17
|
|
Странник Группа: Пользователь Сообщений: 40 Регистрация: 4.4.2015 Вставить ник Цитата Пользователь №: 2795 Страна: Россия Город: Нижний Новгород Пол: Муж. Репутация: 3 |
Пожалуй, так и буду продолжать Замечательно! Решил показать свои скрипты для сборки и сборочную среду, вдруг будет польза. Из gear-репозитория собираю скриптом (все 64- потому-что под 64 бита) gearhsht764.txt ( 115 байт ) Кол-во скачиваний: 4 Для сравнения- произвольный RPM собираю скриптом hsht764.txt ( 101 байт ) Кол-во скачиваний: 3 Сборочная среда на tmpfs, своп сделан на 10Гб, из них 8 для сборки. Смонтировано это не в /tmp, а в /tmp/.private, см fstab.txt ( 745 байт ) Кол-во скачиваний: 2 Дерево формируется автоматом при старте icewm buildpref.txt ( 585 байт ) Кол-во скачиваний: 3 создаются симлинки на реальные каталоги. Работаю в кэширующем режиме, для этого кэш apt'а утащен на раздел /home, но за пределы домашних каталогов, расставлены соответствующие права доступа и создан симлинк для системного кэша, чтоб и систему можно было обновлять. apt.conf для этого apt.conf.t7.x86_64.txt ( 443 байт ) Кол-во скачиваний: 4 и sources.list sources.list.t7.x86_64.txt ( 647 байт ) Кол-во скачиваний: 3 Среда получилась достаточно универсальной и для меня удобной, с этим-же apt.conf можно собрать и регулярку на t7, а с таким-же для Сизифа- соответственно на Сизифе, и пакеты для него собираются в дереве рядом. Критика приветствуется. |
|
|
13.5.2015, 9:41
Сообщение
#18
|
|
Профессионал Группа: Глоб. Модератор Сообщений: 10033 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: 30 |
У меня пока всё не так автоматизировано. И притом пользуюсь локальными зеркалами репозиториев, так что схема получается проще. А "на раздел /home, но за пределы домашних каталогов" - это любопытное решение; в подобных случаях использую разделы, с ОС вовсе не связанные; но это детали, к Git отношения не имеющие.
-------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
21.5.2015, 12:42
Сообщение
#19
|
|
Мастер Группа: Пользователь Сообщений: 794 Регистрация: 9.7.2010 Вставить ник Цитата Пользователь №: 1865 Страна: Россия Город: Зарайск/Московской Пол: Муж. Репутация: 6 |
Ээээ... Очевидных причин, очевидно, две: удобство для себя- видно историю изменений, и для коллег- удобство импорта-экспорта кода. И еще множество других-прочих. В Альте, кмк и везде, инструменты для работы с гитом уже настолько отполированы, бери и пользуйся. mkdir someproject.git ; cd someproject.git ; git init-db ; gear-srpmimport ../someproject.rpm Всего делов-то. И опубликовать. Простейший гит-репо, кмк, проблем вооще не имеет, одни только удобства. И как прикажете собирать тот же spacefm, если исходник у него в гите? Или icewm? Мне для сборки хватает git, gitk, gear и нескольких однострочников для запуска в настроенной среде. Вот ещё бы стандартизовать эти настройки сборочной среды. Но об этом потом. gear-srpmimport ../someproject.SRC.rpm а то я как лох обрадовался, что можно из простых rpm-ок сделать исходники, а оказалось, что без исходников не получиться .... Сообщение отредактировал Balbes - 21.5.2015, 12:43 |
|
|
Текстовая версия | Сейчас: 24.4.2024, 1:46 | |