После трёх месяцев разработки опубликован выпуск распределенной системы управления исходными текстами Git 2.43. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60150
Гит уже сложнее чем джава и с++ вместе взятые.
Там рюшечек много (в духе --fixup, reapply), а сама концепция может и не суперпростая, но и не шибко сложная.
> Там рюшечек много (в духе --fixup, reapply), а сама концепция может и
> не суперпростая, но и не шибко сложная.Более тогго
1) Гит логично ложится на типовые воркфлоу.
2) Реально часто используемые команды достаточно простые, и работают так как ожидает большинство програмеров умеющих в командную разработку.
3) Когда приспичило в продвинутости может оказаться что другие варианты были так то и еще сложнее. А пользоваться этим всем - ну вот реально - опционально. Особенно если кто не руководитель проекта уровня Торвальдса, агрегирующий за толпой додиков а обычный програмер.
Ты спорол полную чушь, но если вместо git подставить mercurial, то будет всё верно.
> Ты спорол полную чушь, но если вместо git подставить mercurial, то будет всё верно.Боюсь что те кто может это сказать - про именно меркуриал - крайне хреновые разработчики, выпавшие из state of art, не умеюшие в географически распределенные команды, и вообще, виндовые мышевозилы, которые в распределенную разработку не умеют, вместо этого пытаясь рассматривать DVCS и воркфлоу как "SVN на стероидах". Что разумеется фэйл сразу на старте.
Ну а те кто вон то умеют и пробурчали "тогда и взаимодействуйте сами с собой". И предпочли взаимодействие с себе подобными.
Концепция простая как топор
Ну да. Как и у редакторов. И тем не менее, всевозможных редакторов сделано уже свыше 1000 штук. Концепция - простая, РЕАЛИЗАЦИЯ - сложная! :)) С виду - да, просто загнали в БД очередную версию файла. На деле, только mercurial подходил к своей работе аккуратно и логично. А трольвадс писал свою фигню чисто на коленке, расширяя на ходу в меру своих ограниченных умственных способностей.
Так что на сегодня КАК ИНЖЕНЕР я бы выбрал mercurial, а для интерактива со смузихлёбами - гит.
> Так что на сегодня КАК ИНЖЕНЕР я бы выбрал mercurial, а для интерактива со смузихлёбами - гит.Плохой из тебя инженер.
mercurial уже проиграл. Окончательно и бесповоротно. Из-за проблем в идеологии. Методы добавления расширений были заточены на python.
Это ошибка на этапе постановки задачи.
> Так что на сегодня КАК ИНЖЕНЕР я бы выбрал mercurial, а для
> интерактива со смузихлёбами - гит.Инженеры так то разные бывают. Конечно если ты далек от софтостроя - то тебе и меркуриал - VCS. А если это про разработку софта - мир сделал свой выбор.
Сейчас голым гитом никто особо не пользуется. В практически любом IDE есть GUI для контроля версий.
Отучаемся говорить за всех
Он по делу всё сказал. Не бурчи, дед.
Ерунду он сказал. Есть люди, которые используют Гит только из IDE. Есть, которые только из командной строки. Есть те, которые и оттуда, и оттуда, в зависимости от обстоятельств. Есть вещи, которые из консольного Гита сделать проще, чем из IDE, а есть и которые вообще в IDE нельзя сделать. Потом, есть программисты, которые вообще не используют IDE, но используют Гит, такие вот дела. Потом, есть сисадмины, они тоже консольным Гитом пользуются. Наконец, есть девопсы, они Гит вообще из скриптов дёргают, какие там где IDE? Я всех этих людей видел, и их далеко не 0,1%.
> которые только из командной строкиЭто наверное как раз те сотые доли процента.
Если ваше знакомство с айтишниками ограничивается только выпускниками курса "frontend за три дня", то очень может быть.
А есть еще те которые используют ни консоль, ни IDE.
Есть тонны GIT GUI (https://git-scm.com/downloads/guis) на любой вкус, цвет и систему.
Но чтобы под линуксы и удобно - только за деньги.
Из бесплатных и удобных есть TortoiseGit, но он только под винду.
"линуксы и удобно" - это вообще странное сочетание в одном предложении.
С другой стороны - почему если под линукс, то нельзя за деньги?
Даже Столлман говорил "free" as in "free speech," not as in "free beer".
На моем коре2дуба эти ваши IDE на электронах и прочих явах еле ползают, хотя в Win 95/98 на пеньке 166, который ммх, всякие дельфи, борланд и вижуал си, можно сказать что летали. Но это прогресс, я понимаю..
А вы поставьте на пенёк-166 mmx _тот самый_ Visual C, и сравните его возможности с нынешними IDE.
Алсо, не летал он там. Совсем не летал.
Вот и выросло поколение нажимающих на кнопочки в иде.
Причём уже третье по счёту как минимум.
Даже суровый дед Томпсон для PDP-7 в первую очередь написал ассемблер, редактор и шелл, и только потом уже взялся всё остальное. Он-то как раз хорошо знал, как важны удобство и скость написания кода. Жаль, что не все его посыл поняли, и всё воюют, сперва с ИДЕ, потом с LSP, а теперь вот ещё с копилотами и прочими плодами прогресса.
... а потом придумали вим и развитие пошло куда-то не в ту сторону(
зато горды что могут за минуту сочинить команду "отравить курсор на 3 стоки вниз, на -2 слова влево и удалить один символ"
Можно подумать, vi от хорошей жизни был придуман. На терминале с 59 клавишами и скоростью 300 бод захочешь жить — не так раскорячишься.
Хорошо. Почему это г***ноподелие ушло дальше терминалов 300 бод?! ЧТО этому виму делать в современном линуксе? Да чё там, даже 20 лет назад скорости уже были достаточные для того, чтобы НАВСЕГДА забыть про это чудище! Даже deco - и тот умудрялся в текстовом терминале имитировать norton commander. Вопрос: почему дебилы цепляются за всякую гниль из 70-ых и никак не хотят продвигать нормальные редаткоры? (напр FTE)
> ... а потом придумали вим и развитие пошло куда-то не в ту
> сторону(
> зато горды что могут за минуту сочинить команду "отравить курсор на 3
> стоки вниз, на -2 слова влево и удалить один символ"Ага. Зато я придумал как пользоваться мышкой и не убирать руки с клавиатуры: достаточно двигать мышь ногой. Педаль для вима же есть https://github.com/alevchuk/vim-clutch
да-да-да. и уже поколений 20+ не можем самостоятельно дома строить, отапливать и отравиться от заражения собственными фекалиями. какой-нить средневековый чел сейчас любого из нас может запросто..это называется прогрессом - когда разработка и отладка одних технологий, посредством грамотных специалистов, предоставляет возможности по сохранению времени и его освобождению для другого. если взглянуть шире, в совокупность всех технологий, это становится вполне нормально, если что.
что толку от грамотного ит-спеца, если у него забрать возможность спокойно комфортно жить, питаться, чувствовать себя в безопасности. с другой стороны - он помогает всем этим, иным, сферам развиваться. не так ли?
> это называется прогрессом - когда разработка и отладка одних технологий, посредством грамотных специалистов, предоставляет возможности по сохранению времени и его освобождению для другого.Это называется профнепригодность. Если шаг влево или вправо от твоей области для тебя темный лес, то это дерградация как специалиста.
Профессионал, в отличие от любителя, знает, что можно не знать. И полагается не на заучивание всего корпуса предметных знаний, а на практический опыт, знание самых необходимых в работе концепций, и умении увернно разобраться с шагам в любом направлении.
Профессионал, в отличие от любителя, просто деньги получает за свою работу. Только в этом между ними разница.
Никто не говорит о заучивании конкретных шагов. Речь идёт о том, чтобы просто знать, что и так можно, и сяк.
именно. "понимание принципов освобождает от необходимости знания очень многих фактов"
ну извините. у меня какая логика..есть с сотню истинных _маэстро, которые самую суть понимают. на основе это есть другая тысяча-другая, которая уже выдаёт сахар/фреймворки и тп. и вот уже на основе этих инструментов - есть с сотню тысяч _специалистов_, которые, с одной стороны, них не понимают сути, зачастую и инструментов, условно, зато используют это, применяя к различным областям жизни создавая конечные продукты
ну да, это накладывает определённый отпечаток и на расширяемость, и на возникновение проблем/ошибок всяких, согласен
вот только кто будет это всё делать? та самая сотня гуру, для каждого муницип. образования в мире? где бы мы сейчас тогда были? зато жильё, продукты, безопасность, удобства - практически везде, в том числе и для этой первой сотни прародителей
ну про балбесов ессно говорить нечего. так-то, не имея понимания, всё опасно становится - жить, есть, ходить где/чё попало
Кардиохирургу расскажи - мол, не можешь в поле топором кесарево сделать = профнепригоден! А на "доктора наук" и топор самому скрафтить надо, да?
> Кардиохирургу расскажи - мол, не можешь в поле топором кесарево сделать =
> профнепригоден! А на "доктора наук" и топор самому скрафтить надо, да?Некорректное сравнение.
Во-первых, если бы кардиохирург нажимал кнопочку, а робот бы все делал, а кардиохирург даже бы не знал, что происходит далее, то у него не должно быть лицензии. К тому же у хирургов (нормальных) часто курсы повышения квалификации есть, изучение новых методик, например, малоинвазивные вмешательства.
> мол, не можешь в поле топором кесарево сделать
Кесарево не кардиохирург делает :) Но вообще хирург нормальный должен мочь выполнить операцию общего типа. Ну наложить шов уж точно должен.
> Некорректное сравнение.Очень даже корректное. Шаг влево - шаг вправо, отсутствие привычных инструментов - и хирург-специалист не может НИЧЕГО. И о том, что происходит ДО операции - клинической диагностике, инструментальной диагностике - он в лучшем случае будет "иметь представление". И о том, что после - послеоперационный уход и восстановление, медикоментозное лечение, физиотерапия и реабилитация - аналогично. Можете идти отбирать лицензии )))
> Кардиохирургу расскажи - мол, не можешь в поле топором кесарево сделать = профнепригоден!Ну вообще, можно найти байку как хирург на подводной лодке сам себе апендикс удалял, при помощи, цуко, повара. И таки - альтернативные варианты так то еще хуже были.
>> Кардиохирургу расскажи - мол, не можешь в поле топором кесарево сделать = профнепригоден!
> Ну вообще, можно найти байку как хирург на подводной лодке сам себе
> апендикс удалял, при помощи, цуко, повара. И таки - альтернативные варианты
> так то еще хуже были.И не выиграл, а проиграл, и не в преферанс, а на бильярде...(Ц)
Гуглить Рогозов Л.И., ага. Но мне интересно, какие выводы вы делаете из этого даже не "факта", а "прецедента"?
> Сейчас голым гитом никто особо не пользуется. В практически любом IDE есть
> GUI для контроля версий.Вот не надо тут за всех, это некультурно. Попробуй с этим твоим IDE за толпой бакланов поразгребать, особенно когда мержи не сошлись, конфликты, и проч, тогда и поговорим.
А, ты не руководитель проекта а джун на побегушках? А до Торвальдса тебе как пехом до пекина? Так потому и джун.
Ты серьезно сравниваешь удобство мерджа и разрешения конфликтов в каком-то GUI (например используя 3-way merge) и голый гит в консоли ?
Думаю ты ничего больше hello world никогда не мерджил.
Балда, 3-way merge это алгоритм diff-а и в Git примерно везде только он и есть. Типичные конфликты, которых подавляющее большинство, проще разрешать голым git-ом. Полноценно и эффективно с Git можно работать только через оригинальный клиент.
> Ты серьезно сравниваешь удобство мерджа и разрешения конфликтов в каком-то GUI (например
> используя 3-way merge) и голый гит в консоли ? Думаю ты ничего больше hello world
> никогда не мерджил.Ну ты то нам тут ща мастеркласс дадешь, как это все супер-эффективно ворочать, м? А потом не окажется что я это раза в 2-3 быстрее фигачил? Шеллом пользуются не по приколу а потому что это весьма эффективная рабочая среда. То что для этого надо мозг поднапрячь а не только мышкой возякать - да, бывают в жизни огорчения.
Ну да - есть такая работа, гумно за другими разгребать. Хорошая работа, нужная я бы даже сказал - у-ва-жа-е-ма-я, но вот требовать от всех навыков работы ассенизатора с обращением соответствующими инструментами некоторым образом эребор. Одного, гм, черпия на организацию более чем достаточно - а некоторые с развитием канализации и без него вполне себе справляются. Абыдна, да?
И это хорошо.
Стренно, мне казалось что система проста как лапоть.Для начала достаточно трех команд
git pull
git commit
git pushА потом как разберешься, можно добавить фетч, мердж и тд
Но это уже ближе к мидлу))
> Для начала достаточно трех команд
> git pull
> git commit
> git pushЕсли в проекте есть не только ты и какая там у тебя кошка, еще хотя-бы git branch нехило бы освоить. Ну и git merge потом. Или ты планируешь гадить недопиленой фичой прям в main/master? За это с тобой остальные сделают то же что с кошкой. За то же самое.
а git branch делает лид)
или кто там нянчится с джунами
Что у вас там за джуны, что не в состоянии git branch без лида сделать? Из детсада что ли?
Почти. Из фронтенда.
> а git branch делает лид)Он что, каждого котенка сам лично в его бранч носом тыкает, ибо тот неразумный и гадиться в свой лоток без посторонней помощи - совсем никак?
Мне почему-то кажется что время PM'а можно потратить с большей пользой. В коммерческой корпе он так вообще очень дорогой чувак, тратить его время на чистку лотков за котятами - вас топы точно поймут в этом? Да и вообще lead означает лидирование. Показать 1-2 раза - пожалста! Постоянно ссанину за вами грести?! Это не лидерство, это уборщица за котятами.
> или кто там нянчится с джунами
Да обычно - никто. Покажут пару раз как надо. Не смогете? Гудбай, тестовый период не пройден. И вся любовь. В нормальных местах гадящиеся под себя - не требуются.
В каком-нибудь подвал инкорпорейтед, конечно, может и прокатить, но там и зарплата под стать - да и сдохнуть от такого управления он норовит на раз. Выпускать с такой командой крутой продукт который всем даст мастеркласс - сами понимаете.
> прям в main/masterПросто master, не надо распространять эту глупую моду
s/git/hg/ , а так да, всё верно - простая как лапоть. :)
Никто не заставляет учить все команды.На собеседованиях могут спросить: "гит знаешь"? отвечать надо так: "знаю". После этого тема с гитом обычно закрывается.
Устроившись на работу, обнаружишь, что все в гите допускают ошибки, обычно при мердже. Но все всем всё прощают. Так как никто никого не заставляет учить все команды.
Чтобы познать гит до уровня среднестата, достаточно двух-трех команд. Остальные команды учишь по желанию, если найдешь их полезными лично для себя.
> Остальные команды учишь по желаниюОткрою секрет. Их вообще никто не учит. В последний раз чтобы кто-то юзал гит в консоли видел 10 лет назад.
Открою секрет. Гитом пользуются не только программисты. Ansible + git (в консоли) сейчас самый ходовой инструмент сисадмина.
> Ansible + git (в консоли) сейчас самый ходовой инструмент сисадмина.Зачем тебе аццкому одмину локалхоста нужны Ansible + git?
> Их вообще никто не учит.Отучаемся говорить за всех.
> В последний раз чтобы кто-то юзал гит в консоли видел 10 лет назад.
Это говорит лишь о твоём узком круге общения.
>> Их вообще никто не учит.
> Отучаемся говорить за всех.Да всё правильно. Команды не учат даже те кто пользуется только из консоли. Наиболее часто используемые запоминаются сами сразу. За остальными когда надо можно заглянуть в ман, учить их не надо.
> Да всё правильно. Команды не учат даже те кто пользуется только из консоли.
> Наиболее часто используемые запоминаются сами сразу. За остальными когда надо
> можно заглянуть в ман, учить их не надо.Еще у современных версий автокомплит для шела нормальный. Достаточно таб бахнуть - и варианты автокомплита вполне нормальные как правило, с учетом контекста.
> Команды не учат даже те кто пользуется только из консоли. Наиболее часто используемые запоминаются сами сразу.К словам придрался
>гит знаешь?конечно знаю! что он есть.
я повторю свой коментарий более развёрнуто - из-за своей сложности гит сожрёт сам себя
Продолжайте вести наблюдение
> из-за своей сложности гит сожрёт сам себявыше уже писали что голый гит никто не использует, времена bash портянок и пердолинга терминала давно ушли на свалку истории, сегодня всё есть в ide.. ну или github desktop, который используется вообще везде.
Все джуны сначала так говорят.
Так говорят все кто не осили терминал.
>> из-за своей сложности гит сожрёт сам себя
> выше уже писали что голый гит никто не использует, времена bash портянок
> и пердолинга терминала давно ушли на свалку истории, сегодня всё есть
> в ide.. ну или github desktop, который используется вообще везде.Теперь понятно чего пох такой сварливый и занудливый. Это у него просто велосипеда не было, тьфу, то-есть, коллеги - душечки, еще юниксвейнее чем он сам. Вот, видите как за юниксвэй топят? Видимо в более приличные места граждан с таким настроем не очень ждут, или типа того.
Не пойму, что вам не понравилось в выступлени моего колл...подделки? Вы не любите shithub дрисьтоп?! Вам может еще и не нравятся "syntax highlighted diffs" ?!
+1. И это не говоря об архаичной и нелогичной системе команд и ключей. Чем дальше в лес, тем маразматичнее выглядят все эти улучшения.
Почему он так херово множит? Есть настройка чтобы разные соседние строки спокойно добавлялись без конфликта? Как это например делает меркуриал
Мержит*
Эк тебя помножило то в меркуриале, ты теперь даже мерж-конфликты не замечаешь
Да наверное этот энтерпрайзный прожект менеджер мержит с телефона, автозамена и прикололась.
Свой mergetool ему добавь.
Лишь бы на SHA256 не переходить.
Как там rhg поживает?
chg хорошо поживает, остальное неважно.
Странный кусок софта. Столько всего умеет, но при этом базовые вещи сделаны через одно место.
Да какая тебе разница как и что он там делает. Это всё низкий уровень и тебе туда в голой консоли лезть не нужно без острой необходимости. В том же vscode уже есть отличные средства для работы с гит.
По крайней мере ты не отрицаешь, что базовые вещи там сделаны через одно место.
что очень странно для того, кто юзает вскод
Ровно также как и в ядре линукса.
А что такого плохого сделано в git add, git commit, git push/pull?
Кто говорит, что гит переусложнен https://www.opennet.dev/opennews/art.shtml?num=52355
> Подготовленной функциональности достаточно для совершения коммита в git-репозиторий.И на этом всё. А теперь открой официальный мануал по гиту (по объёму тянет на диссертацию) и посмотри какой у там перегруженный функционал.
> посмотри какой у там перегруженный функционалНе нашёл в доках гита ничего про вариационное исчисление.
Не нашёл в твоей натужной шутке ничего смешного.
А это и не шутка.
Ну так гит и проблему нетривиальную решает. Был бы «Hello, world!», мануал и вовсе не понадобился бы. Но тебе-то какая печаль? Для твоих задач «Новая папка (132120)» достаточно.
> и посмотри какой у там перегруженный функционалКоторый никто не обязывает использовать.
Как и в С++
ФУНКЦИОНАЛ - математическое понятие, возникшее в вариационном исчислении для обозначения переменной величины, заданной на множестве функций, т. е. зависящей от выбора одной или нескольких функций. Напр., длина дуги кривой, соединяющей две фиксированные точки, будет функционалом, т. к. величина длины дуги зависит от выбора функции, график которой соединяет эти точки.
Удивительно, как ты умудрился опростоволоситься, цитируя сообщение, в котором написано правильно.
Ты к чему ляпнул про "переусложнён" и как твоя ссылка это контраргументирует?? Чувак просто сделал КОММИТ средствами шелла! Даже фетча нет. И конечно же, название соответствует "Проект получил название shit" :)))))))))
> Ты к чему ляпнул про "переусложнён" и как твоя ссылка это контраргументирует??
> Чувак просто сделал КОММИТ средствами шелла! Даже фетча нет. И конечно
> же, название соответствует "Проект получил название shit" :)))))))))гит - это контентно адресуемая фс. Какой тебе фетч? Ну допиши и пошли ему патч.
Какая-то минорщина. Уже не знают что бы добавить, начали свистелки прикручивать.
Так это ж минорная версия
как же я затрахался тут, намедне, с этим гитомну неужели нельзя вытащить просто нужные папки/файлы сверху, блобы без сырцов?
ну ок, гит инит, спарс-чекаут, ремоутом линканул, задал нужные папки, а пулл тащит весь этот .гит, который весит в сотни раз больше и нах не нужен. как сделать-то, чтоб изначальный .гит под 40кб оставался?
зы. depth 1 помогает конечно, но можно ли как-нибудь вообще без? как-то по-оленьи получается, если делать скрипт который всё сносит, заново клонит, а потом .гит сносит хДД
да блин, верхний уровень - бинарник готовый, который сами комплириуют, а мож и гитхаб экшены делает на автомате, исходники скрыты же наверняка. ну и кучка хмл конфигов попутно.тупо моды/плагины. можно как-нить их одних, бинарную версию без самой истории .гит, подтягивать обновления, гитом через скрипты? я могу сам линкануть репы внутри своей созданной, а вот не тянуть .гит как, для каждой репы, не знаю.
есть идеи? можете попутно накидывать за ламерство, обещаю, по возможности, другим подсказать, чтоб поменьше в сети встречалось такое)))