LINUX.ORG.RU
ФорумTalks

Почему взлетел GitHub?

 , , , ,


0

1

Выделил в отдельный тред обсуждение консольного клиента GitHub:

www.linux.org.ru/forum/talks/16499288?cid=16499698

Пацаны, кто по понятиям живет, а расскажите все-таки, почему и когда GitHub всех сожрал? Мне не устраивают сказки про «DVCS намного лучше централизированной репы», потому что большинство пользователей Git/GitHub используют его как централизированный репозиторий и сам GitHub развивался именно как централизированный хостинг.

Более того, никому на самом деле не нужен Git — в глазах почтенной публики это скорее консольный клиент для GitHub и его клона GitLab. Причем, именно в таком ключе продолжает развивать эту инициативу Microsoft, ныне владеющий GitHub: дополнительные инструменты в виде виртуальной файловой системы для online-only работы с центральным сервером, при этом сохранение совместимости с консольными клиентом GitHub-а.

★★★★

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

Кроме того, что она популярная, она еще и плохо спроектирована

И что же такого плохого?

Уже ж написал и выше и ниже.

ЛФС. Гит и не рассчитан на переваривание крупных и бинарных файлов

О том и речь. LFS — совсем несмешной костыль.

Да нет, практически всех устраивает

Какая доля из тех, кого «устраивает» знает про альтернативы? Процентов 5?

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

в «центральную репу» коммитит только Торвальдс лично, а все изменения для релиза он сливает с других реп, которые управляются мейнтейнерами подсистем

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

История изменений превратится в лапшу.

Нет, конечно.

Когда Pull Request прошёл ревью и готов к merge, все коммиты при merge в main squash’иваются в один, по имени фичи/багфикса.

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

Какая мне разница, какой там URL у меня в командой строке

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

Так тебя беспокоят вопросы авторизации

Так-то да. Мне безопасней работать в одним гитхабом, где у меня есть возможность использовать двухэтапную аутентификацию.

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

Когда-то делал «деплой» в гитлабе по ФТП — простое раскидывание файлов, очень удобно.

Еще раз: нет никакого «общество решило».

Общество видит удобный инструмент, общество его использует. То, что вы называете течением, не более чем смесь разных факторов.

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

в «центральную репу» коммитит только Торвальдс лично, а все изменения для релиза он сливает с других реп, которые управляются мейнтейнерами подсистем

Во, это DVCS. Кто на гитхабе так делает?

byko3y ★★★★
() автор топика
Ответ на: комментарий от fsb4000

Когда Pull Request прошёл ревью и готов к merge, все коммиты при merge в main squash’иваются в один, по имени фичи/багфикса

Squash — это и есть rebase.

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

Уже ж написал и выше и ниже.

Нет, вы просто демонстрировали, что он вам не нравится.

LFS — совсем несмешной костыль

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

Какая доля из тех, кого «устраивает» знает про альтернативы? Процентов 5?

А какая доля из них умеет писать? А знает про интернет? Где большое количество статей типа «гит — дерьмо»? Да и если человеку что-то не нравится, он старается исправить положение. Не нравится гит — ищешь альтернативы. Просто потом оказывается, что альтернативы гораздо хуже.

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

Гламурные кисы меня меньше всего интересуют. Их реп я и не увижу никогда, скорее всего.

А вот зачем меня пару человек зафоллоувело, для меня загадка. Скорее случайно, так как своих реп у меня нет, а вот у них есть.

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

Какой еще unix-style?

Тот, благодаря которому огромное количество Developers! Developers! Developers! в последнее десятилетие стало покупать всякие MacBook’и и использовать Unix-like операционные системы вроде дистрибутивов Linux’а и macOS вместо Windows и Visual Studio.

Так получилось, что Windows был удобен лишь для разработки на C#, тогда как какие-нибудь Web-программисты выбирали то, где легко разворачивается LAMP, LEMP, всякие Python, Go, Ruby встраиваются нативненько в систему со всяким Repl’ами, базы данных устанавливаются через пакетный менеджер одной строкой, а не EXE-инсталятором, и потом красиво обновляются. Даже плюсовикам и сишникам удобнее использовать GCC или Clang из-под UNIX-like.

WSL и WSL2 – попытка Microsoft вернуть разработчиков в лоно Windows. Будет ли она успешной, посомтрим в будущем.

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

Это «сейчас»? У них уже владелец с тех пор сменился, который прекратил подобный бардак. Так что «сейчас» достаточно надуманно.

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

А если создано два похожих пул-реквеста — тоже в одном месте комментарии?

В двух, как и в почте. Если там писать в одном письме, то можно и в одном комментарии писать.

А обсуждение смежных патчей тоже в одном месте?

Рядом. В почте оно не ближе.

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

Ну ты же в курсе, что был как минимум еще BitBucket? Хотя их было (и есть) еще больше.

Он до сих пор есть и до сих пор инопланетный и неудобный. GitHub-like интерфейс стал по сути стандартом для хостингов исходного кода. Не только GitLab’ы, но и всякие Gitea и прочие Perl’овые и Scala’овые поделия (натыкался на них пару раз) копируют его.

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

На гитхабе нету вирусни и рекламы?

Нету. Вот вообще не видел ни разу в отличие от SourceForge-помойки, пихавшей рекламные трояны в установщики.

В чем проблема «форкать» SVN репу на сервере?

В том, что на клиенте у тебя будет не полная копия проекта.

А я все-таки хотел бы вспомнить времена, когда GitHub не только не умел искать по символам проекта, но даже базовую функционалньость еле-еле выполнял

Альтернатив ему всё равно не было. Лишь BitBucket с неудобным интерфейсом и изначальным дефолтом на малопопулярный уже тогда Mercurial (Hg).

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

У них уже владелец с тех пор сменился, который прекратил подобный бардак. Так что «сейчас» достаточно надуманно.

Да при скачивании любого бинарного архива там до сих пор «пожалуйста подождите 10 секунд и посмотрите рекламу» как на какой-нибудь помойной и древней RapidShare или DepositFiles.

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

нужно делать merge с main.

Нет, merge вообще делать не нужно!

rebase не нужен вообще, только merge.

Нет! Только rebase, иначе история превращается в хлам!

Вообще, почитай как делаются нормальные проекты:

В интернете кто-то не прав. Китаец дичь несет, а ты как дурак за ним повторяешь!

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

Самый главный аргумент в пользу того, что никому не нужен Git — это тот факт, что в основном GitHub/GitLab используются как централизированные репозитории.

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

пс: ничто не становится популярным просто потому что оно лучше. это не так работает в жизни. JS был лучшим? питон? джава? ничто из них не было лучшим.

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

Нет! Только rebase, иначе история превращается в хлам!

ты из этих значит, любителей переписывать историю

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

ты из этих значит, любителей переписывать историю

Пока изменения не залились в master/release-branch они не являются частью истории. У себя я могу вести историю как мне угодно и поддерживать порядок. В нормальных проектах всегда так делается.

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

Я еще скажу страшное для тебя. Нормальные люди не коммитят портянку коммитов вида ‘fix’ ‘fix 2’ ‘compile fix’ ‘feature works!’ ‘oops fix again’ …. а сливают всё в один вменяемый и работающий коммит перед заливкой в master. Это называется не «сокрытие сурой реальности», а поддержание порядка. Иначе делают только те, кто, извиняюсь, бросают окурки где попало и ссут в лифтах.

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

Нормальные люди не коммитят портянку коммитов вида ‘fix’ ‘fix 2’ ‘compile fix’ ‘feature works!’ ‘oops fix again’

Конечно, нет. Они просто дают коммитам понятные сообщения, и приводить в порядок ничего не нужно — все и так в порядке. Чисто там, где не мусорят.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Ответ на: комментарий от byko3y

Очень странный аргумент

Github был реально в разы удобнее и проще чем SF или googlecode. Даже странно сравнивать, все эти SF-ы на фоне github-а были как из каменного века. Возможно рельсы с их модной-молодёжной вебдваноль идеологией тут повлияли.

no-such-file ★★★★★
()

Нипочему. Кто-то должен был победить, победил Github.

t184256 ★★★★★
()

В нужное время в нужном месте появился. Популярная альтернатива тогда была - sourceforge, зашкварившийся вставкой троянов в раздаваемые бинарники с интерфейсом из 90-х и заполненный рекламой. Гитхаб был глотком свежего воздуха - рекламы нет, ограничений нет, есть доп фичи вроде Issues, которые идеально подходят небольшим проектам, интерфейс приятный и чистый.

А git - да, никакого значения не имел, на мой взгляд. Мог бы и Mercurial или SVN взлететь.

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

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

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

Когда Pull Request прошёл ревью и готов к merge, все коммиты при merge в main squash’иваются в один, по имени фичи/багфикса.

Ну желательно, чтобы этот мердж прошёл как fast-forward. Вот ты и изобрёл ребейз.

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

Вот да.
ПРи куче недостатков Git - это ЭВОЛЮЦИЯ соцсети, web разработки и DVCS в один продукт. Поэому хорошо.

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

Реклама на ЛОРе не мешает и не раздражает.

P.S. Не блокирую рекламу в интернете вообще, просто стараюсь не посещать помойные ресурсы. И SF, к сожалению, в этом списке.

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

Пулл реквесты же и «fork me on github».

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

Популярная альтернатива тогда была - sourceforge, зашкварившийся вставкой троянов в раздаваемые бинарники

А это не на сурсфорже была тема, что все хостящиеся у них исходники по умолчанию принадлежат сурсфоржу?

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

Так и меня там не раздражает и не мешает.

А откуда ты знаешь, что там реклама, если не помешаешь тот сайт?

Отрубил резалку, всё, что вижу - небольшой баннер. Очень мелкий между прочим.

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

Да, peer-to-peer, центрального сервера нет, но есть «лидер», как в распределнных СУБД. Лидер исчезает — на его роль назначается новый узел.

В Git центральный сервер - тоже условность. Помино origin может быть сколько угодно других. Что касается P2P, во FreeNet была попытка добавить поддержку Git. Не помню чем там дело закончилось, но вроде не взлетело.

Лидер исчезает — на его роль назначается новый узел.

И тут аналогично — origin исчез, на его роль можно назначит другой сервер. Другое дело, что обычно кроме origin почти всегда ничего другого нет. Может быть дело в повсеместном IPv4+NAT или в том, что такая распределённость просто не нужна.

GitHub лёг (или запретил ваш проект) — разработка продолжается на новом сервере как ни в чем ни бывало.

Ну вот теоретически можно было бы хостить проект сразу в нескольких таких местах, напимер github+gitlab+bitbucket+azure. Но разрабам обычно ничего такого не хочется, даже после драм с закрытием чужих проектов.

Разрабы же GitHub сделали всё возможное, чтобы убрать возможность распределенной разработки и привязать разработчиков к конкретным централизованным closed-source сервисам. То есть, без GitHub ошметки вашего процесса разработки придется собирать заново.

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

Этого недостатка нет в Fossil, где вся документация и багтрекер хранятся в репозитории у каждого разработчика.

И что, всё это тоже распределено, тоже необходимо мержить или ребейсить и тоже разрешать конфликты?

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

А откуда ты знаешь, что там реклама, если не помешаешь тот сайт?

Я же написал, что стараюсь не посещать, а не вовсе не посещаю. Иногда, всё-таки, приходится. Из-за слоупок-проектов, которые не переехали на GitHub, BitBucket, GitLab или ещё куда.

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

Тогда накладные расходы на разработку возрастут в разы. Часто сначала пишется сначала тестовый/черновой код, а потом он чистится и коммитится.

Кому нужны коммиты «add temponary debugging output», «remove debugging output» и т.п.?

X512 ★★★★★
()

Вопрос про Fossil. Может ли этот комбайн быть потенциально более опасным, чем Git + Github? Ведь внутри Fossil есть свой вебсервер и вебдвижок. Что если завтра меня сломают, прислав специальным образом сформатированный багрепорт или комментарий к нему?

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

Но и SourceForge так-то сделал больше

Это совершенно неюзабельный сайт с тонной рекламы и кривой разметкой.

X512 ★★★★★
()

Пацаны, кто по понятиям живет

Я думал вы вымерли в 90-х

А что ты на лоре делаешь, а не в спортивках под падиком семечки щёлкаешь?

а расскажите все-таки, почему

Потому что они первые додумались сделать УДОБНУЮ морду для Git

и когда

С времён основания github

Мне не устраивают сказки про «DVCS намного лучше централизированной репы», потому что большинство пользователей Git/GitHub используют его как централизированный репозиторий

Это не сказки. Большинство софта - проприетарное. Большинство контор которые хоть как-то уважают собственную безопасность, сохранность данных, приватность - содержат собственные репозитории на сервере.

Более того, никому на самом деле не нужен Git

Веб-макакам и молокососам «из своего района», коим ты и являешься, он не нужен, да.

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

rebase не нужен вообще, только merge

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

Вообще, почитай как делаются нормальные проекты

хахаха, ссылка на сайт микрософт, вот уж топовый источник инфы по тому как «надо делать проекты»

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

Не было. Был поганый до сих пор SourceForge, который что тогда, что сейчас рассылает вирусы и рекламу вместо ПО.

Subversion (SVN) ещё было, да и до сих пор есть. До недавнего времени FreeBSD это юзали.

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

Web-программисты выбирали

Выбирали Denwer, потом OpenServer на винде. Быстро, просто, без установки и всё сразу в комплекте.

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

Куда? Ой, сейчас слоупоками окажутся пользователи svn.

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

Уже выяснили, что никаких тонн рекламы там нет. Баннер там не больше чем здесь.

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

rebase не нужен вообще, только merge.

Что я только что прочитал? Я скажу как делаются нормальные проекты. Тебя просят подправить твои коммиты. И чтобы не лепить коммиты с правками к коммитами на каждое замечание, ты делаешь rebase. Чтобы сместить свои коммиты вверх и проверить, что в текущем состоянии они не конфликтуют с четкой, в которую их закинут - делаешь rebase.

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

В том, что на клиенте у тебя будет не полная копия проекта.

Вот здесь подробнее. Чего не будет в копии проекта? Того, что прописано в ignore?

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

Чтобы код не потерять на следующий день.

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

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