Все валят с TFS и Azure Devops?
У нас тоже хотят на Гит переходить. А чего так? В этом Гите мёдом помазано, всё гораздо круче, чем в ADO, или просто в угоду хипстерам, которые почти все как один МС-хейтеры и яблолюбы?
А чем "МСовский Гит" не угодил?
Это как? TFS?
https://nulab.com/learn/software-development/git-vs-svn-ve...
Azure DevopsА это причём?
Ну так это бывший TFS.
Странно, всё что удалось найти - "Dank Azure DevOps – früher als Visual Studio Team Services bekannt"
https://learn.microsoft.com/en-us/azure/devops/user-guide/...
https://azure.microsoft.com/en-us/products/devops
У нас тоже хотят на Гит переходить. А чего так? В этом Гите мёдом помазано, всё гораздо круче,
у нас за много лет как работали на SourceSafe, TFS, Svn, и где-то с год назад добавили Git в параллель к Svn-у. Т.е. хочешь с Svn работай, а хочешь с Git - всё равно где-то на сервере коммиты попадают в одну репозиторию (подозреваю, что гитовскую). В течении года всех заставили посетить двухдневное обучение гиту, и вот буквально в конце этого месяца Svn переводят в режим только для чтения, о чем предупредили заранее, а значит упоротым свн девелоперам придется перейти на гит таки.
Я сам сразу перешел, сперва не понимал зачем это надо, сложным и непонятным казался гит по сравнению с свн, но
по мере ознакомления понравилось.
Отдельные операции, которые не долгие, они все же в Гите медленнее работают (я использую Tortoise Git/Svn) чем в свн, но это термимо. А вот долгие операции, а именно переключение веток или чекаут всего проекта - эти в гите работают в десятки раз быстрее.
Самое ужасное, что можно выбрать для гита.а что есть лучше (кроме командной строки) ?
Не с чем сравнивать, но все-же интересно какие конкретно и насколько медленнее?да самые обычные: просмотр истории, коммит, апдейт, фильтр истории.
Но я уже сказал что терпимо медленнее, т.е. если в свн реакция считай мгновенная, то гит на пару тройку секунд может подвиснуть. Может от конфигурации зависит... но и так нормально, приемлимо
а что есть лучше (кроме командной строки) ?
Лучшее, из того что я видел, это SourceTree. Лучшее графическое представление истории. А ещё он не убивает нафиг локальную репо при попытке сделать интерактивный ребейс.
Но лучше всего заставлять себя пользоваться командной строкой. Тогда ты точно знаешь что делаешь, не надо думать о 100500 чекбоксиков и дропдаунов выставленных где-то в 150 диалогах.
Тогда и коммит мгновенно делается :)
а что есть лучше
У каждого свои предпочтения. Хотя бы встроенный в студию.
или вот
https://www.kdnuggets.com/2022/10/top-free-git-gui-clients...
да самые обычные: просмотр истории, коммит, апдейт, фильтр истории.
тут нужно отделять, что делается на клиенте, а что на сервере.
Похоже медленно всё - то дело в клиенте/ компе.
У меня так просмотр истории не занимает вообще никакого времени. Переключился на прогу и смотри сколько хошь.
Коммит тоже не должен долго длится. Все же локально.
попробуйте коммандную строку и github
Это как кому . Когда я нажимаю кнопу в моей прогу, я точно знаю что будет, а когда выискиваю команды в интернете, то нужно думать, а что может быть и как это все буковки совместить правильно.
Жмакать кнопочки не понимая что происходит в гите - прямой путь к убитой истории. Копипащенье того, что не понимаешь - тоже. Но оно и в программировании так же. Ты же не тянешь в свой проект кусок кода, который ты нашёл на стэковерфлоу, но не понимаешь?
Когда ты нажимаешь кнопочку "Commit", ты уверен что делаешь только коммит? Не коммит и пуш? Точно-точно? А если гит ответит что не может пушить, потому что у тебя разное состояние в локальной и удалённой ветке? Твоя кнопочка не попытается сделать пулл? А может pull --rebase?
Ты же не тянешь в свой проект кусок кода, который ты нашёл на стэковерфлоу, но не понимаешь?
-----
Таки - тяну... причем - совсем не малую часть проекта... Я бы сказал - более 90% исполняемого кода состоит именно каких-то непонятных кусков кода, большей частью даже без возможности их изучить...
Вот текущая проблема:
ИИС, работает сервис. Сервису нужно запустить стороннюю утилиту с параметрами.
Утилита лежит в какой-то папке. Название папки зависит от версии. Может быть несколько версий в системе.
Идеально было бы просто скопировать нужную версию в бины ИИСа, но... утилитка ТАК
не работает,.. и хрен его знает что надо копировать вместе с ней или где и что править...
Когда ты нажимаешь кнопочку "Commit", ты уверен что делаешь только коммит? Не коммит и пуш? Точно-точно? А если гит ответит что не может пушить, потому что у тебя разное состояние в локальной и удалённой ветке? Твоя кнопочка не попытается сделать пулл? А может pull --rebase?
А вы уверены, что когда вы печатаете "commit", оно там внутри не добавляет пуш и прочую сложную обработку, если вдруг пушить нельзя? Кому какое дело, жмакаете вы кнопку или вводите команду вручную - это всего лишь разные типы ввода, а как они конкретно обрабатываются вы не знаете. Но жмакнуть кнопку быстрее.
Когда ты нажимаешь кнопочку "Commit", ты уверен что делаешь только коммит?
По большому счёту, мне совсем по барабану, главное, делается то, что мне нужно - установлено путём долгих экспериментов.
И нафига мне для новой репы типать clone и вставлять путь? Когда проще нажать две кнопы, а если еще хочу и каталог поменять по умолчанию, тогда что?
А когда раз в год попадется, что то специфическое, можно и гуглу спросить и команду ввести.
По большому счёту, мне совсем по барабану,
Добро пожаловать в армию страдальцев "а чо этот гит такой тупой". Когда тупой совсем не гит...
И нафига мне для новой репы типать clone и вставлять путь?
Патамушта clone тоже не примитивная команда. У неё тоже куча параметров. А у вас, любителей гуёв, память часто как у мушки дрозофилы. И что вы там накликали в настройках вы не помните чуть чаще чем всегда.
Лично сталкивался с "а пачимуууу гит такой тупой и у меня саааавсем нет никаких камиииииитаааав и веееетаааак". Только один коммит. Он же последний.
Что сделал кпонкожмяк? Нажал кнопочку. Только забыл. Что последний раз он увидел параметр "depth" и поставил его на 1. А патамучта быстрее. А потом из памяти кнопкожмяка (помним про
дрозофилу, да?) это испарилось. И следующий проект он зачекаутил тоже с глубиной в 1. И бегал истерил половину рабочего дня: "вот, я всё стираю и клонирую заново, а оно всё равно не работает, где мой synergy!" пока я его за пуговку не поймал
Патамушта clone тоже не примитивная команда. У неё тоже куча параметров. А у вас, любителей гуёв, память часто как у мушки дрозофилы. И что вы там накликали в настройках вы не помните чуть чаще чем всегда.
Чтоб вам доступ в туалет был через командную строку с кучей параметров! ))
что вы там накликали в настройках вы не помните чуть чаще чем всегда
------
На самом деле - все гораздо хуже.
С точки зрения работника.
Мы таки не только не помним что сделано в плане изменения стандартных настроек,
но еще и что писали на прошлой неделе напрочь забываем.
Прочли ТЗ, внесли изменения, прогнали (если есть) тесты, нажали кнопарик КОММИТ,
и даже не задумались куда и что попало. Мало того - даже не изучаем детали - например,
не имеем представления будет ли автоматический САВЕ перед КОММИТ. Кликнули - все.
И ты знаешь - как-то живем... да, ошибки допускаем, да, полная жопа случается...
да, иногда нужен умник чтобы разобраться в сотворенном... ну так пусть у рабобрателя
об этом голова болит - он набирал рабов с навыками нажатия КОММИТ, а не со знанием
КЛИ.
С точки зрения работодателя.
Числом поболе, ценою подешевле.
Да, нужен умник с глубокими знаниями командной строки ГИТа и раз в 3-6 месяцев он
будет разгребать проблемы с сотворенными жопами... Но... он будет делать это в рабочее
время и за ту же зарплату. Что? не хочет(не может) разобраться с командной строкой ГИТа?
Ну тогда нехрен мудохаться - найдите годную копию и засуньте ее в новый репозиторий...
А по сути - жмакая кнопарик гораздо меньше вариантов жмакнуть не то, чем набирая
параметры в командной строке... гораздо меньше...
Добро пожаловать в армию страдальцев
Спасибо, но уж сколько лет полёт нормальный.
Приходится только жалеть тех страдальцев, которые всё руками набирают и разбираются с подобным:
Это ж можно сравнить, только как в юниксе по папкам бегать, имен которых не знаешь. А винде, на дерево глянул и усё видно.Хотя остроконечники и тупоконечники всегда боролись между собой без всякого смысла
память часто как у мушки дрозофилы
Естественно, поэтому даже чисто теоретически не в состоянии запомнить все параметры и все команды, ввиду полной бессмысленности этого.
Приходится только жалеть тех страдальцев, которые всё руками набирают и разбираются с подобным:
Открой для себя приличный шелл. Даже под виндой. Поставь гит и в подарок получи bash. А в нём откроешь волшебную кнопочку Tab. И увидишь что полностью команды и параметры в шелле мало кто набирает. Первые две-три буквы.
Как вообще вы, виндусятнеги, работаете без find и grep...
Открой для себя приличный шелл. Даже под виндой.
нафига, когда есть "нортон коммандер"? Есть там история но она туда должно попасть в первый раз как то.
Поставь гит и в подарок получи bash
Давно стоит и ента фигня есть, иногда приходится пыль стирать и набирать что то, когда кнопочку не нашел.
работаете без find и grep
да потомушта, всё есть и без энтих извращений
Чтоб вам доступ в туалет был через командную строку с кучей параметров! ))
в туалет человек обычно ходит часто сам процесс выполняется на автомате. У меня всегда в хистори шелла команды которые я выполняю часто, либо в алиасах, и пофиг сколько там параметров. А вот кликать каждый день одно и то же, это не прикольно совсем
Приходится только жалеть тех страдальцев, которые всё руками набирают и разбираются с подобным:
...
Это ж можно сравнить, только как в юниксе по папкам бегать, имен которых не знаешь. А винде, на дерево глянул и усё видно.
люди которые в чем то глубоко разбираются они и называются инженерами. Инженер "должен" очень хорошо знать свои инструменты. Если ты просто тыкаешь в кнопки не понимая что происходит, юзаешь ORM не имея представления о SQL, это плохо ИМХО.
Таких в индустрии называют trained monkey.
Насчет юниксов и по папкам бегать, там все очень просто и практично и если очень надо и дерево тоже можно в консоли изобразить. Просто у тебя опыта в этом нет
А вот кликать каждый день одно и то же, это не прикольно совсем
Вы предпочитаете клацать? Или нужные вам команды из хистори выбираются автоматически и автонажимаются?
Снова смотрите мою картинку вверху.
А комменты к коммиту куда в командной строке вбиваются? Где-то между параметрами?
люди которые в чем то глубоко разбираются они и называются инженерами. Инженер "должен" очень хорошо знать свои инструменты. Если ты просто тыкаешь в кнопки не понимая что происходит, юзаешь ORM не имея представления о SQL, это плохо ИМХО.
Таких в индустрии называют trained monkey.
Ещё не так давно некоторые программисты говорили, что если ты не можишь в машинных кодах что-то написать или прочитать, во что сгенерился твой высокоуровневый код, то ты не инженер. Мы таких называли старпёры.
юзаешь ORM не имея представления о SQL
-----
Хи-хи...
Имплементируешь тот же SOAP/WCF без детального знания протоколов TCP/IP&UDP...
Кстати, а скольких глубоко знающих TCP/IP ты знаешь? Под глубоко Я понимаю именно твою сентенцию в плане знания деталей функционирования всех суб-систем, т.е. включая все управляющие битики в контроллерах и сигналы на шинах управления...
Если ты просто тыкаешь в кнопки не понимая что происходит,
Вообще то, я вижу это по другому.
Есть задача, которую можно решать многими способами. При этом, любой их них, даёт тот же самый результат.
Тот, кому нравится способ "А", может считать другие способы неверными/неправильными или неудобными.
Тоже самое могут думать те, кому нравится способ "Б".
А результату то наплевать, каким способом он получен, главное, чтобы было комфортно тому, кто это делает.
А делать, ничего не понимая, можно также любым способом.
Просто у тебя опыта в этом нет
Естественно, когда не чаще чем раз в год, приходится что то делать под никсами.
Только, что то, я не могу представить дерево в текстовой консоли и как по нему мышой лазить.
А так, если низзя поставить МС приходится делать ls и затем набирать нужный каталог. Есть что то более удобное - поделитесь.
Могу еще рассказать страшный сон про юникс. Это когда открываешь vim, а интернета нет. И всё, как его закрыть найти еще самому не удавалось
Вы предпочитаете клацать? Или нужные вам команды из хистори выбираются автоматически и автонажимаются?
А комменты к коммиту куда в командной строке вбиваются? Где-то между параметрами?
ты просто так и скажи что в bash/zsh не работаешь и не знаешь как можно быстро искать в history ;)
коммент к коммиту можно сразу после -m, в чем неудобства ?
О старперах говорит человек который настольгирует по десктоповым гуям и недоволен джаваскриптовым трендам ? :D
Насчет машинного кода, когда то давно, когда тебе это говорили, может и стоило разбираться в весьма низкоуровневых левелах. Сейчас скорее всего нет.
Но если ты не понимаешь как работает то с чем ты имеешь дело каждый день, это уже хуже. Каждый выбирает для себя на каком уровне он чет хочет знать.
Я из опыта могу сказать что если дело заходит о серьезных проблемах и больших проектах, то хотят как раз тех кто глубоко разбирается в той или иной теме.
И я конечно понимаю у тебя цель поспорить.
Хи-хи...
Имплементируешь тот же SOAP/WCF без детального знания протоколов TCP/IP&UDP...
Кстати, а скольких глубоко знающих TCP/IP ты знаешь? Под глубоко Я понимаю именно твою сентенцию в плане знания деталей функционирования всех суб-систем, т.е. включая все управляющие битики в контроллерах и сигналы на шинах управления...
не корректное сравнение. SOAP это не сетевой протокол, для этого используется чаще всего HTTP. Ты часто видел людей которые работают с SOAP или RESTful и мало чего слышали о HTTP и не знают как он работает ? А дебажить ты с такими знаниями как будешь ? Или ты просто говоришь что "it works on my machine" ? Глубоко, это не значит наизусть, и не значит что ты должен как девелопер разбираться в протоколах маршрутизации. Это значит ты понимаешь принцип работы и в любой момент можешь посмотреть детали если тебе это понадобится.
Вообще то, я вижу это по другому.
Есть задача, которую можно решать многими способами. При этом, любой их них, даёт тот же самый результат.
Тот, кому нравится способ "А", может считать другие способы неверными/неправильными или неудобными.
Тоже самое могут думать те, кому нравится способ "Б".
А результату то наплевать, каким способом он получен, главное, чтобы было комфортно тому, кто это делает.
А делать, ничего не понимая, можно также любым способом.
каждый имеет право видеть это как хочет :)
И да, задачи можно выполнять по разному. Возьмем например то же облако или k8s какой нибудь. Если это для тебя хобби, да, кликай в гуях
и не вникай в подробности. Если ты занимаешься этим на проф. уровне, скорее всего ты будешь использовать IaC, helm и kubectl/oc.
Нужно
дальше обьяснять почему ?
Естественно, когда не чаще чем раз в год, приходится что то делать под никсами.
так а зачем тогда спорить о том в чем не разбираешься? :)
Если тебе нужно дерево директорий твоего проекта, то скорее всего эту уже есть в твоем IDE. И особо большой разницы нет на какой OS этот IDE работает.
мне за 20 лет работы с юниксами ни разу не понадобилось представлять дерево папок. Зачем ? Каков юскейс ?
О старперах говорит человек который настольгирует по десктоповым гуям и недоволен джаваскриптовым трендам ? :D
Я недоволен херовыми языками и инструментами разработки, а не трендами, типа разработки для веба. Были бы нормальные инструменты, можно было бы и для веба нормально разрабатывать. Так исторически сложилось, что для десктопа придумали неплохие технологии. Там есть свои недостатки, но пока это лучшее, что придумали. А из веба 30 лет что-то вменяемое вылепить не могут. Мне лишь CSS нравится за относительную лаконичность. Кроме их системы селекторов - запутанная хрень с закорючками с неочевидной семантикой. Заходит только тем, кто со скриптиза и этих стилей начинал и кроме них больше ничего в жизни не видел.
У меня всегда в хистори шелла команды которые я выполняю часто, либо в алиасах, и пофиг сколько там параметров. А вот кликать каждый день одно и то же, это не прикольно совсем
То, что в гуе можно тоже сделать выпадающий список с хистори, это какое-то тайное знание? А ещё можно сделать второй выпадающий список - с готовыми и определёнными самим пользователем пресетами. Вопрос лишь к разработчикам гуёв.
Ещё не так давно некоторые программисты говорили, что если ты не можишь в машинных кодах что-то написать или прочитать, во что сгенерился твой высокоуровневый код, то ты не инженер. Мы таких называли старпёры.
C и C++ спорят кто из них лучше, но это всего лишь детская забава. В конце концов, любой программист знает, что по-настоящему крутым языком является Ассемблер!
Если тебе нужно дерево директорий твоего проекта, то скорее всего эту уже есть в твоем IDE. И особо большой разницы нет на какой OS этот IDE работает.
мне за 20 лет работы с юниксами ни разу не понадобилось представлять дерево папок. Зачем ? Каков юскейс ?
А если мне нужно дерево директорий моей любимой музыки? Или коллекции картинок? И чтобы с миниатюрами?
Вообще, это хорошо, что есть возможность выводить дерево в консоли текстовыми и символьными (если шрифт позволяет) костылями. Есть же аскетичные люди, которым большего не надо. Проблемы возникают, когда эти люди начинают указывать другим, что и как им делать.
не корректное сравнение.
-----
В чем?
В плане необходимости понимать работу SQL при работе через ORM...
Заметь - Я до сих не говорю об том, что провайдер может быть не SQL-типа.
SOAP это не сетевой протокол
-----
Ээээ...
А какая мне разница?
Без tcp/ip&udp - SOAP не работает. WCF - да, кое-что может.
В соответствии с твоими требованиями пишущий бины для WCF обязан знать детали обмена по местным и межсетевым протоколам. А в пределе - управляющие битики и сигналы на шинах.
Ты часто видел людей которые
-----
Я их не только видел - Я их обучал выполнять необходимую часть работы.
Да, писали DCOM-приложения не зная не только об том, как работает DCOM, но и об том что такое база данных и как делать код в С++ & SQL - размещали элементы на форме, выравнивали, подбирали цвета для большей информативности и делали кучу другой работы, затраты на обучение которой были меньше, чем самостоятельное выполнение...
А дебажить ты с такими знаниями как будешь ?
-----
Элементарно - оберну соединение собственным врапиком, отловлю в нем ошибки, проведу трассировку и, если нет возможности исправить, выдам сообщение в понятном виде. никаких 404 и 301... Все остальные просто не знают что именно там используется и пишут и дебажат код независимо от HTTP-протокола.
Это значит ты понимаешь принцип работы
-----
Вопрос на интервью на позицию .NET DEVELOPER - Какие уровни изоляции на MS SQL сервере вы знаете?
30+ лет опыта работы с MS SQL, но Я даже не понял об чем вопрос - никогда не требовалось разбивать чтение данных на части и беспокоится об блокировках по чтению. версионник же...
ни разу не понадобилось
-----
Сколько кода и в проектах какого размера ты написал за эти 20 лет?
Если суммарный объем кода проектах менее 100 гиг и твой личный вклад менее десятка гигов - то об чем мы говорим?
Сколько раз ты успешно фиксил баги в проекте объемом в пару гиг и в отведенные 10-15 минут? А регулярно и в неизвестных тебе проектах?
Ты просто смотришь на разработку софта как на написание малюсенького скриптика автоматизирующего какую-то рутину в очень стабильной системе, а это далеко не разработка.
То, что в гуе можно тоже сделать выпадающий список с хистори, это какое-то тайное знание? А ещё можно сделать второй выпадающий список - с готовыми и определёнными самим пользователем пресетами. Вопрос лишь к разработчикам гуёв.
так вот в том и дело что cli везде одинаковый, а гуи они все разные.
так вот в том и дело что cli везде одинаковый, а гуи они все разные.
Просто вы пользовались лишь одним поставщиком интерфейса командной строки. А в принципе их может быть много. Захочу я добавить команду для пресетов, а влезть внутрь не могу. Но могу сделать обёртку с дублированием основных команд, и ещё добавить свои. Или какие-то плагины расширяющие добавляются, если автор позаботился, чтобы их можно было добавлять. И с гуём так же.
ок :) все понятно.
Ээээ...А какая мне разница?
Без tcp/ip&udp - SOAP не работает.
совершенно верно ! SOAP на нескoлько этажей выше чем IP, это значит что в маршрутизации пакетов тебе разбираться не нужно если ты пишешь на этом уровне. Но если ты не знаешь что такое HTTP то девелопер ты так себе.
Это чисто мое мнение и чисто мои наблюдения. Я работал с разными комадами девелоперов и быстро видно кто реально специалист, а кто "it runs on my machine".
Пишешь рест апи и не знаешь как работает http потому что есть фреймворки и гуи которые делают все за тебя, ок. Тотали файн.
Просто вы пользовались лишь одним поставщиком интерфейса командной строки. А в принципе их может быть много. Захочу я добавить команду для пресетов, а влезть внутрь не могу. Но могу сделать обёртку с дублированием основных команд, и ещё добавить свои. Или какие-то плагины расширяющие добавляются, если автор позаботился, чтобы их можно было добавлять. И с гуём так же.
у меня конечно специфика другая, я не девелопер, но в нашем не простом деле есть просто один cli. bash он и в африке bash, юниксовые core utils везде практические одинаковые, kubectl, sqlplus, curl, git. Этим полюзуется 95% людей в моей отрасли, по этому даже если есть и другие cli, мне это по барабану потому что все перечисленное уже идет стандартом в наборе. Мне не нужно ни к чему привыкать и мне не нужно говорить что если gui XY не установлен, я работать не могу. Так что с гуем не так же.
но боже упаси, я не собираюсь никого переубеждать, использовать для гита гуй или нет, это дело каждого персональное
Мне не нужно ни к чему привыкать
Только потому, что привыкли к командной строке и потому, что другого просто нет и потому, что...
Этим пользуется 95% людей в моей отрасли
ну а если говорить "в моей отрасли", то использование командной строки может требоваться в 5% случаев.
это дело каждого персональное
ну так о чём я и говорю постоянно.
да, кликай в гуях и не вникай в подробности.
Что то вы пытаетесь совмещать разные вещи. Понимание процессов и способ выполнения задачи совершенно разные вещи.
Например, чел Х. 10 лет регулярно ездит из пункта А в пункт Б и наоборот, и знает это абсолютно профессионально, что где и когда может происходить и какие мельчайшие проблемы могут возникнуть.
Он точно знает, какой самый быстрый способ и дешевый способ будет для него и конкретного дня.
А чел У, также те же 10 лет ездит из пункта А в пункт Б, но только исключительно на машине и при этом цена и скорость его не волнует.
Кто из них добирается из пункта А в пункт Б более профессионально?
Если тебе нужно дерево директорий твоего проекта
нафиг мне нужно дерево моего проекта в никсах? Расскажите как удобнее всего бегать по каталогам в баше?
А с какой целью?
сложно сразу сказать. Для начала просто побегать, глянуть, что где лежит, какие логи есть. Что там в etc, что в конфигах, какие вообще есть?
С ui это просто и сразу всё видно.
Но что делает эта команда понять сложно поиск в теущем каталоге?
Выведет тебе длиииинный список всех файлов во всех подкаталогах (рекурсивно) текущего каталога. С полным именем. Можно вывод в less перегнать, тогда в нём искать будет можно сразу. Типа, а где тут у меня xml-ки? Хотя, если ищешь xml можно сразу find-у сказать
find . -type f -name ".xml" | less
Получишь что-то вроде
./AppData/Roaming/HP/HP Setup/REGDATA/Welcome_RegConfirmation.xml
./AppData/Roaming/LibreOffice/4/cache/opencl_profile.xml
./AppData/Roaming/LibreOffice/4/user/config/javasettings_Windows_X86_64.xml
и те пе. Но если надо помедитировать над файлами кто ж запретит каким-нитьменеджером пользоваться. Как раз для медитаций самое оно. Пока ничего не делаешь.
Я давно на Ассемблере что-то делал, тогда еще не было никакого расширенного режима или специальных инструкций. Надо было критичный код на Си с вложенными циклами, длинными массивами и битовыми операциями переписать на Ассемблере. Пишешь, компилируешь в obj-файл, потом линкуешь как обычно. Просто надо помнить что держишь в каких регистрах ну и правильно с указателями работать (длинные массивы в разных сегментах памяти). Думал что где-то в два раза быстрее будет. Оказалось, что на порядок быстрее. Очень удивился. Возможно конечно что компилятор Си плохо оптимизировал ну либо я не знал как это делать. Но если делать больше чем отдельные изолированные процедуры, тогда головняк большой будет, особенно еще в защищенном режиме. Тут нужно полное погружение или специально заточенные люди, а не наскоком делать.
...бегают кругами и воют почему у них простейший поиск длится 30 минут.
Выборка базы данных, 200 тыщ строк в секунду - это нормально или какая скорость обработки сейчас считается приемлемой?
Спрошу здесь, штобы новую тему не создавать. Сейчас читаю, но чёта неохота долго вчитываться. Может кто сказать, где для Студии 2022 клиент для Гита с гуем? Или в неё встроен?
Мне сказали, что уже репу на Гит перенесли, адрес дали. В Студии для Azure DevOps есть Team Explorer - типа такого
в котором можно выбрать Source Control Explorer и подключаться к репам примерно так
В Гите для Студии как? Source Control Explorer с Гитом не работает - там другой интерфейс?
не могу припомнить чтобы что то особенное делал. Надо глянуть
Давно пользуюсь этим
Во, поставил компонент "Гит для Виндовс", а менюшка в Студии была выключена, т.к. в настройках плагин был для Azure DevOps. Но был выбор опции для Гит - выбрал, и менюшка появилась.
Что-то из Студии нихрена не клонируется - креденшелс не подходят. Зашёл через веб-морду (там аутентификация по приложению в смартфоне) и выбрал склонировать там - сработало.
Что-то я отличия от Azure DevOps не вижу. В веб-морде всё то же самое. Только в Студии поменялось теперь меню на гитовский плагин.
Может я чего не понимаю - как связаны Azure DevOps и Гит? Это одно дополнение другого, одно замена другого, или одно и то же? Почему веб-морда для реп одинаковая, хотя система контроля версий была заменена?
А как отцепиться от текущей репы или ветки и другую прицепить? Вот склонировал я себе ветку репы, а потом хочу другую в ту же папку на локальной машине. А отцепиться нету опции. Могу попытаться склонировать другую ветку, но она пытается склонироваться в ту же папку, а там старая ветка, поэтому клонировать не даёт, а показывает лишь возможность законнектиться к ней. Приходится закрывать Студию, удалять на локальной машине всю папку с репой вручную, и только тогда можно склонировать снова в то же место.
для каждой ветки своя папка локально заводится
нет. Один репозиторий -- одна папка. А новые ветки или обновы, да нужно скачивать, но опять таки не всё с нуля при обновлении.
Есть ещё удобная операция stash. Это когда все локальные изменения сохраняются в отдельном локальном хранилище и ветка переходит в состояние последнего коммита. После этого можно переключать ветки без опаски потери незакоммиченных изменений.
А как просмотреть версии файлов из других веток? Всё через сравнение (по датам, номерам чекинов, веткам) делается?
Мне иногда нужны некоторые файлы в последних версиях из основной ветки, но не вся обновлённая основная ветка, т.к. туда мои изменения ещё не закоммичены. Как обновить себе только часть файлов?
А как просмотреть версии файлов из других веток?
Особо так часто и не нужно было. Поэтому, как лучше всего или правильнее не знаю.
Обычно, если ломит делать лишние движения, то идём в репо веб интерфейс и смотрим прямо там.
Или можно сделать еще одну локальную копию и там переключать или сравнивать что хочется.
А как удалить файлы ветки с локальной машины правильно? Если я что-то делал с проектом, но не закоммитил и не запушил, то можно просто закрыть IDE и стереть папку с проектом с диска? Я ещё для верности делаю revert changes на весь проект, и тогда закрываю и удаляю. Этого достаточно?
Я к тому, что может там система контроля версий требуют какую-то команду для удаления, а не просто в файловой системе самому шуровать. Как ветки переключать ок - понял, а как удалить вообще...
А что за пулл реквест такой? Я работаю в своей ветке, а есть ещё куча других и главная (мастер) ветка. Но я коммичу лишь в свою. И на каждый коммит и затем пуш мне Гит предлагает сделать пулл реквест. Я прочитал, что это типа запрос добавить мой код репу. Но ведь я уже добавил его через пуш?
Но ведь я уже добавил его через пуш?
Вот именно для любителей делать прямой пуш в мастер и сделано.
Обычно, просто запрещают прямой пуш в мастер, только через ПР.
После создания ПР, как правило, проверяются начальные условия - типа всё компилится без ошибок и все тесты прошли успешно. Можно добавить ещё, что нибудь, по желанию
Затем кто то должен глянуть предлагаемые изменения, согласится с ними или добавить комментарии.
На следующем шаге можно закрыть ПР, после этого все изменения станут активными.
Дискутировать по этому поводу можно также до бесконечности, нужно оно или нет в конкретном проекте. Но многие решают что нужно.
Т.е. пулл реквест это пуш в мастер
ну не совсем так, вот тут есть пример
https://blog.skillfactory.ru/glossary/github/
А если в мою локальную ветку
В локальной ветке можно делать что хошь - главное состояние перед слиянием.
может набраться слишком много изменений
Нужно тогда разбивать на подзадачи.
Или пулл реквест в любую ветку можно сделать,
конечно. Но это не операция - это процесс. Процесс слияния веток. В каждом конкретном случае он разный, хотя есть и стандартные шаги.
Для одного единственного разработчика он не нужен вообще.
А если в мою локальную веткуВ локальной ветке можно делать что хошь - главное состояние перед слиянием.
У меня иногда подобная ситуация происходит, что здесь на картинке слева, только всё в пределах моей ветки. Я не помню, что нажал - вроде сначала коммит и пуш, затем пулл, и затем снова пуш. И там прямо от моей ветки появилась параллельная с одним пунктом, и затем тут же слилась с моей основной. Я так понимаю, где-то рассинхрон произошёл удалённой репы с моей веткой и моей локальной репой с моей веткой, а после принудительного пуша они слились.
вроде сначала коммит и пуш, затем пулл, и затем снова пуш
Правильно не помнишь. От такой последовательности действий никаких мержей не будет.
"внезапные" ответвления от локальной ветки появляются когда у тебя есть различия между локальной веткой и ремоут (удалённая звучит как будто её кто-то удалил), с которой ты свою локальную ветку синхронизируешь. Если эти изменения нельзя разрешить простым fast-forward мержем.
Примеры.
Локальная Ремоут git push git pull A-B-C A-B добавит C в ремоут ничего не сделает A-B A-B-C ничего не сделает добавит C в локальную A-B-C A-B-D пошлёт делать пулл замержит D с C, содаст E в локальной C / \ A-B--D--E - так будет выглядеть локальная ветка после git pull
Многим не нравится видеть такую ветвистую историю. На помощь спешит параметр --rebase (git pull --rebase) ну или настройки. Можно настроить что все pull по умолчанию делаются с --rebase, можно для конкретной ветки. В третьем примере после git pull --rebase у нас в локальной ветке появится такое:
A-B-D-C' где C' это изменённый C. Ну, про rebase ты же в курсе, да?
вроде сначала коммит и пуш, затем пулл, и затем снова пушПравильно не помнишь. От такой последовательности действий никаких мержей не будет.
Вроде, сейчас точнее вспомнил - я пытался поправить коммент в уже запушенном коммите. Или ещё не запушенном, но уже закоммиченном - вот тут точно не помню. Вобщем, образовалась бранча, которая тут же смёрджилась после запушивания коммита с исправленным комментом. Вроде как-то так.
Т.е. пулл реквест это пуш в мастер? А если в мою локальную ветку, то можно копить пуши без пулл реквеста? Правда, может набраться слишком много изменений...
Или пулл реквест в любую ветку можно сделать, не обязательно в мастер?
Вобщем, попробовал согласиться на предлагаемый пулл реквест - из Студии открылся веб интерфейс Гита на Azure DevOps, где по-умолчанию предложили смёрджить мою ветку с мастером. При этом в выпадающих списках можно выбирать, какую ветку с какой мёрджить.
Короче, как я понял, пулл реквест это всегда мёрдж двух веток.
попробовал согласиться на предлагаемый пулл реквест - из Студии открылся веб интерфейс Гита на Azure DevOps,
Теперь моя очередь задавать вопросы, а где в студии нашли запрос на пулл реквест для азуре? У меня только так
Короче, как я понял, пулл реквест это всегда мёрдж двух веток.
Ну, в который раз говорить, что не совсем так. Это только одна из операций.
В принципе - это запрос на старт операции по слиянию двух веток. И операция обычно состоит из многих шагов. Возможно, в каком то извращенном варианте и есть только этот один шаг, но в этом нет особого смысла.
а Azure Devops это типа хостинга для таких систем и проектов.
опять таки, не совсем так
https://learn.microsoft.com/ru-ru/Azure/devops/user-guide/...
скорее всего запутало это
Теперь моя очередь задавать вопросы, а где в студии нашли запрос на пулл реквест для азуре? У меня только так
У меня через инсталлятор Студии поставлен "индивидуальный компонент" Git for Windows (как-то так). А ваша менюшка у меня в виде плавающего меню Git Changes (очень похожее на подобную менюшку для TFS в Студии), которое по умолчанию докается в менюшку с тим эксплорером и эксплорером проектов. И когда выбираешь Commit And Push, то предлагает создать пулл реквест. Кликаешь на это предложение, и отправляет на веб-морду Azure для создания этого пулл-реквеста.
В этой же менюшке можно Revert Changes (немного другое название) сделать. Наводишь на многоточие любого изменённого элемента - хоть одного файла, хоть всего проекта - и там и отмена изменений, и сравнение с версиями. Только у Гита сравнение лишь с последней версией, а для TFS можно выбрать сравнить с любой, чтобы не лазить в другое меню и не выбирать сравнение там (или не писать простыни в консоли).
Ну, в который раз говорить, что не совсем так. Это только одна из операций.
В принципе - это запрос на старт операции по слиянию двух веток. И операция обычно состоит из многих шагов. Возможно, в каком то извращенном варианте и есть только этот один шаг, но в этом нет особого смысла.
Скажем так - пулл реквеста без мёрджа не бывает. Так?
Такой вопрос, хотя это может и не связано с Гитом. Пытаюсь запушить код - пишет, доступ закрыт, http error 403 - смотри output window. Смотрю его для Гита - сервер отклонил мой коммит, т.к. ваш тикет для доступа к интранету организации истёк. Можете обновить тикет по ссылке. Захожу - там тикеты, обновляю - пуш прошёл. Описано быстро, а на деле час-два решение искал. Я про эти сраные тикеты для ихнего интранета давно забыл, т.к. они на много дней выдаются, и нафиг оно мне надо, помимо своих задач ещё эту хрень постоянно в голове держать. Но когда проблема возникла, сначала час-два вообще в другую сторону копал - думал, проблема с Гитом и его аккаунтом.
Вы работали когда-нибудь с такой системой? Ощущение, что больше со всей этой корпоративной хернёй трахаешься, чем код пишешь. По нескольку раз в месяц то одно, то другое - тикеты заводи, обновляй, а мы тут обновились - перелогинься, а логиниться надо через приложение и палец или глаз, и т.д. и т.п. И всё, сука, временное - тикеты-хуикеты, логины и прочее норовит закончиться и вылогиниться, закрыть сессию, если не активничаешь или в отпуск ушёл и на пару недель-месяц всё закрыл. Приходишь - полдня вспоминаешь, как эти йопаные квесты снова проходить. Это всё конечно хорошо, что у них там стопицот "линий обороны"... а код кто будет писать?
Вы работали когда-нибудь с такой системой?
постоянно. И каждый раз придумывают что то новенькое.
То доступ к УСБ закроют, то к RDP, то при включенном VPN все посторонние сети нахрен обрубают. Ни принтера, ни обновлений сторонних. Ну т.п.
Но тут ничего не сделаешь - безопасность панимаетели. А то сопрут страшные секреты фирмы и усё - у всех теперь софт не работает
Хотя это лучше, чем на фирме все сервера вирус зашифрует.
Не нужно брать в голову...
Но тут ничего не сделаешь - безопасность панимаетели. А то сопрут страшные секреты фирмы и усё
Я даже не буду говорить, что я видел в соседних БД рядом с моей тестовой, к которым у меня почему-то тоже был доступ. Что-то типа маленький ребёнок проснулся ночью, пошёл в туалет, заглянул в спальню родителей через щелку приоткрытой двери, чуть-чуть поглазел, испугался и побежал обратно к себе в постель с вооот такими вот глазами... А палец или глаз просканировать надо обязательно, да.
Что-то Мурр помнится говорил, что он вроде как эти все препоны у своих контрагентов пинком ноги решает - "эй, человек, как тебя там, настрой там мне всё, чтобы я не парился"? Ну типа трабла возникла - звонишь там или пишешь человеку и сидишь ждёшь, пока они там всё порешают и на блюде принесут. А денежки-то капают тебе в карман. Примерно так? )))
Ну типа трабла возникла - звонишь там или пишешь человеку
совсем не так. Для начала нужно понять с каким "местом" это может быть связано. Потом найти того, кто за это место отвечает и у него узнать к кому можно обратится.
Ну а затем море различных вариантов...
Чёта ничё не понял. Мы вроде перешли на Гит, а в браузере до сих пор tfs чего-то там. И Azure DevOps никуда не делось. При этом в Студии везде полный "гит-шмит". Это не замена одного другим, а разные уровни систем контроля версий?
Оффтоп по Линуксу - странная система, на которую надо пересаживаться силком, заставлять себя, а не сами пользователи к ней тянутся. Напоминает электромобили.
а в браузере до сих пор tfs чего-то там
Это у вас остатки прошлого. Ни разу ничего подобного не видел.
И Azure DevOps никуда не делось.
А причем здесь гит?
на которую надо пересаживаться силком
попробуйте перейти на любую другую без пинка и силка
Относится практически ко всем, неважно какую ОС пользуют.
а в браузере до сих пор tfs чего-то тамЭто у вас остатки прошлого. Ни разу ничего подобного не видел.
Там веб-интерфейс остался по сути тем же - азуровский. И в строке адреса осталось .../tfs/...
И Azure DevOps никуда не делось.А причем здесь гит?
Вот и я спрашиваю. Причём тут Гит, если это Азур? Или причём тут Азур, если это Гит?
на которую надо пересаживаться силкомпопробуйте перейти на любую другую без пинка и силка
А зачем? У меня других проблем нет, или делать нечего? )))
Гит это замена Азуру (и наоборот)
Ах вон оно что... Не, Azure portal это Azure portal
А Git всего лишь можно представить как Azure Repos
Во, веб морда как там на картинке. Только я веб мордой не пользуюсь, т.к. пока сам работаю по себе в своей ветке, и в их спринтах не участвую.
Я так понял, что я у них сейчас что-то типа в песочнице работаю. Если сделаю норм, то весь мой проект пойдёт как обновление морды для их программы. Их команда над другими вещами работает. Иногда мне сливают их обновы. А я сейчас сам себе команда, из одного человека.
Что интересно, у линуксовидов при патологической ненависти к окнам почему-то не возникает такой же к яблокам. Хотя у яблок ещё более ограниченная и закрытая система, а раздевают они своих пользователей - Биллу такое только сниться может. Даже наоборот - линуксоиды спят и видят, как на яблоки свои пингвины накатят.
Там в комментах выбивают всё дерьмо из любителей командной строки.
Возможно дело не в качестве или закрытости/открытости технологий. Это больше социальная иерархия где виндусятники находятся внизу, яблочники вверху, а линуксоводы где-то посередине болтаются. Почему? Потому что огрызки дорогие и это статусная вещь. Его получают СМ, ПО, ПМ, архитекторы и прочие блатные. А винду ставили на любое железо и раздавали бомжам, школоте и прочим проходимцам у которых денег на легальный софт нет (да и вообще нет). У Билли цель одна: вручить софт кому попало, чтобы он получил любой результат как можно быстрее. Бизнес, че. А у линуксоводов изначально порог вхождения выше, дураки и формошлепы автоматически не проходят, и в результате получаем касту бедных но продвинутых.
Потому что огрызки дорогие и это статусная вещь. Его получают СМ, ПО, ПМ, архитекторы и прочие блатные.
Самые монструозные и навороченные КАДы - на Винде. На яблоках и тем более пингвинах некоторых нет, а из которых есть - некоторые появились лишь недавно. Так что архитекторы отпадают. Остаются разные позеры и метросексуалы - им да, яблоки нужны как воздух. Ну ещё школоте и студентоте, если деньги позволяют - они как раз являются первейшими потребителями яблок, а не окон. С окнами было раньше - лет 20 назад. А тогда школота в компах разбиралась куда лучше. А теперь они - ябложоры и, что характерно, почти сплошь тупые как пробки. "Билли" хотя бы учил разбираться в компах - как раз оптимально, чтобы не зарыться в этом до красноглазия, и чтобы не быть совсем тупым. Я "Джобс" учит лишь тягать у мамки деньги каждый год на новый надкусан и пачку расплодившихся приблуд к нему.
и в результате получаем касту бедных но продвинутых.
Касту замкнутых с пингвинячьей идеей-самоцелью. Линухи стоят на разных серверах и используются в разных научных конторах лишь потому, что не надо платить бабки (хотя с оплатой техподдержки за именные дистры цены уже не так различаются). По той же причины их использовали для базовых ОС некоторых игровых консолей. Больше Линухи ни для чего не нужны, и не экономь их пользователи копейки на лицензии, там стояли бы Окна.
А разве винда не запускается без дисплея? Вроде, сервачный вариант как минимум без UI может запускаться и работать уже давно?
С другой стороны, как админить без дисплея? Даже если упарываться по командной строке. Да и в основном спор шёл про устройства со всеми атрибутами - дисплеем и прочим. Разные ардуинки и прочее подобное роли особой не играет.
не туды смотрим
http://fdhi.com.ph/2022/12/13/windows-xp-requirements/
И без дисплея - имелось в виду и отсутствие графической карты в принципе.
Да и в основном спор шёл про устройства со всеми атрибутами
тогда прежде всего нужно определится с областью применения и прочими атрибутами, типа возможности обновления железа, совместимости и и т.д.
Или рассматривать ОС в "виртуальном вакууме".
К вопросу о реальной нужности, полезности и незаменимости Линукса. На форум линуксоидов в раздел вакансий заходит мужик и пишет сообщение: нужен сторож на склад, работа два дня через два, стабильную зарплату гарантирую. Ему - вообще-то это раздел вакансий по операционной системе Линукс. Он - там в подсобке есть компьютер, можешь там своей хернёй по ночам заниматься.
Могу только посоветовать в очередной раз, прочитать и самое главное осмыслить(!) следующую информацию:
Насчёт Гита. Я так понял, что нельзя иметь на одной машине одновременно две разных ветки в разных директориях, и скажем две запущенных версии Студии, чтобы каждая была со своей веткой, да ещё одновременно два дебага запустить - каждый по своей ветке? Вместо этого ты постоянно переключаешься между ветками?
Если так, то как сравнить рядом, одновременно две версии (из двух разных веток) скажем страницы сайта или формы приложения? Только две машины ставить рядом или две виртуалки запускать, в каждой по своей Студии и загруженной ветке с кодом?
А ещё неудобно, что для больших проектов переключение веток может занимать много времени, если разница в коде значительная и затронуты сотни и тысячи файлов.
Вот не хотите попробовать запустить винду, допустим на смартфоне?
Она была, называлась Виндовс Мобайл, и была в разы круче всякого яблочного и пингвинячьего дряшла. И даже щас в чём-то круче. Её сгубила тормознутость Майкрософта и отсутствие единого реестра приложений (магазина - тоже к тормознутости МС относится). Лишь где-то к 2012 году яблочно-пингвинячье дряшло смогло догнать по функционалитету виндомобильные аппараты, и то лишь потому, что последние к тому времени уже несколько лет как новые не выпускали. Впрочем, и сейчас на разных карманных приборчиках, в том числе на производстве, её ещё используют. Заслуга Джобса в том, что он смог завернуть дермо в обёртку от конфетки и заставить своих хомячков жевать его, изображая удовольствие. Но то результат многолетней дрессуры и разглаживания мозгов на Маках и Айподах. К сожалению, таких хомячков оказалось невероятно много, а нормального управления и планирования в Майкрософт - мало, что и предопределило...
))
Я так понял, что нельзя иметь на одной машине одновременно две разных ветки в разных директориях, и скажем две запущенных версии Студии
Почему нельзя? очень даже можно, главное тут - две разных ветки в 2 разных директориях
Репу можно клонировать сколько угодно раз, просто потом будет бардак если работать где угодно.
Имеем один главный каталог, в котором постоянно работаем и сколько угодно клонов только для чтения.
затронуты сотни и тысячи файлов
А что реально есть? Что то тогда неправильно
называлась Виндовс Мобайл
И в качестве базы была конечно версия винды
и была в разы круче
https://itphobia.com/windows-phone-pros-and-cons-ultimate-...
машинный перевод, только часть
3. В некоторых моделях телефонов для windows ограничена функция ожидания экрана. Он позволяет работать не более 5 минут.
4. ОС Windows phone иногда не реагирует на нажатия и зависает.
5. «Синий экран смерти» — ужасный опыт для многих пользователей Windows Phone.
6. Windows Phone работает медленнее, чем другие смартфоны.
7. Обычно батарея Windows Phone начинает не держать заряд после 10-го/12-го месяца.
8. Из многих отзывов пользователей становится ясно, что иногда телефоны Windows зависают с первой недели, и как только вы станете жертвой, это будет продолжаться с вами.
9. Иногда в windows phone после увеличения масштаба изображения вы не можете уменьшить его обратно. При этом приходится перезагружать устройство, чтобы все пришло в норму.
10. Многие устройства Windows Phone блокируются при попытке обновить их.
11. Windows Phone быстро портится от влаги.
12. Версия Windows phone 7.8 не позволяет поддерживать телефон в актуальном состоянии. Это означает, что он не поддерживает или не совместим с последними приложениями, которые будут выпущены.
проще на двух устройствах или виртуалках параллельно запускать копии приложения из двух разных веток
Чем проще? Виртуалку нужно еще настроить и кто даст вторую лицензию для винды? И получится всё равно различное окружение для тестирования.
Не вижу никакой проблемы склонировать репу в другой каталог и запустить две студии, ну разве для веба порты изменить.
Почему в Гите я могу сравнить код из разных веток, но не могу интерфейс как он выглядит при запуске? Торвальдс когда своё поделие писал, не мог дотумкать, что не только красноглазые бэкэндеры им пользоваться будут? Придумал бы чё-нибудь, чтобы быстро тыкнул и получил справа и слева два окна с интерфейсом из двух разных веток.
Нет. Я запускаю два приложения из разных веток. И сравниваю, как выглядят и как ведут себя две одинаковые формы из разных веток. Я сейчас переделываю интерфейс с ASP.NET на Блейзор. И заказчики хотят, чтобы новый выглядел максимально близко к старому, как и вёл себя. Ну чтобы пользователи по-минимуму меняли свой пользовательский опыт.
Если Гит отслеживает версии на всей машине (т.е. запустив две Студии с одной и той же репой, и переключив в одной ветку, это переключение отражается для этой репы и в другой Студии), то надо запускать на двух разных машинах.
Если Гит отслеживает версии на всей машине
нет конечно.
ответ здесь --> запустив две Студии с одной и той же репой
Уже устал повторять: две копии нужны. Одна рабочая, вторая только для чтения. И каждая студия открывает проект с разных каталогов.
Единственная проблема - можно самому перепутать студии если имена проектов одинаковые. Хотя блазор с асп не перепутать.
И заказчики хотят, чтобы новый выглядел максимально близко к старому, как и вёл себя.
Вполне их понимаю, только задача невыполнимая. И если визуально еще и можно как то сделать, хотя не всегда нужно, то как сделать совершенно одинаковое поведение, я не знаю.
Хотя, если речь идет исключительно о визуальном поведении, то да. Типа, по нажатию этой кнопочки странница обновляется.
Еще одно - держать две совершенно разных версии одного проекта в одной репе тоже неправильно.
Также так делали, но после поимели море проблем.
"Репа" - я имею ввиду весь репозиторий. В нём по определению хранятся все версии.
А так у нас несколько проектов того же GUI = старый на АСП.НЕТ, новый на Блейзор, и ещё была попытка раньше написать на АСП.НЕТ МВЦ. При этом все три варианта гуя могут находиться в одной ветке. Тут тоже не вижу ничего криминального. Разве что солюшен эксплорер захламлен проектами, которые мне не нужны.
https://tilburgsciencehub.com/building-blocks/collaborate-...
ну если вариант 1 пользуется то терпимо. Но это тоже о многом говорит.
При этом все три варианта гуя могут находиться в одной ветке
Такого я вообще еще нигде не встречал. Видимо, что такое субмодули никто не слышал.
Тут тоже не вижу ничего криминального
Как минимум бардак, полагаю также, что неиспользование единого стиля кода тоже не криминально у вас.
Насчёт стилей не знаю. Меня достало писать подчёркивания для полей класса, и я стал писать их без. Поля и не поля (скажем, локальные переменные и параметры) и так разным цветом выделяются. Вся эта муть с подчёркиваниями - со времён царя Гороха, когда редактор кода максимум что мог сделать - выделить что-то жирным или наклонным шрифтом. Раньше целая система условных префиксов была - типа этого подчёркивания, потом левый операнд, правый операнд (l и r), константы заглавными буквами и прочий бред. Как придёт на проект какой старпёр, так будто дальтоник и цвета не различает - синие штаны - два раза ку буквы - встроенные типы, розовые - константы (ну, у кого как). И вообще, чем больше тимлид закидывается по стилям, оформлению и прочей бюрократии, тем меньше программист думают непосредственно о коде.
У нас скорее фичи. Мой новый гуй - это типа фича. Как я напишу его, старый гуй удалят. Ну а пока я смотрю его, чтобы сделать свой по образу и подобию. Но из главной ветки я периодически подгружаю свежую версию бэкэнда.
писать подчёркивания для полей класса, и я стал писать их без....Как придёт на проект какой старпёр
Code style guide - это не решение отдельного человека. Это соглашение принятое командой. Вся команда должна писать в одном стиле, а не кому как нравится.
Поля и не поля (скажем, локальные переменные и параметры) и так разным цветом выделяются
Где? У меня в VS2022 не выделяются
Как я напишу его, старый гуй удалят
Ну вот управление релизами также отсутствует.
Есть допустим версия 1 в пользовании клиентов.
Сделали версию 2, но клиентам ее отдавать права не имеем без тестирования и обкатки.
А тут получается так, как сделали версию 2 так и обновили.
Но из главной ветки я периодически подгружаю свежую версию бэкэнда
Так и предполагалось....
Всё хорошо, пока имеется одна версия продукта и нет Continuous Delivery.
И вообще, чем
ну, тут у нас разные точки зрения, но дискуссия бессмысленна.