Doomed to Wordpress

Serious Reflections During the Life of Jeremy Fisher

   

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavours
There's more than one way to view this weblog; try these flavours on for size.

  • index
  • circa 1993
  • RSS
  • Links
    These are a few links to my other sites.

  • Ставропигиальныя Пластинки
  • Анкылым
  • Русское Шрифтовое Зало
  • Gopher (Proxied)
  • More about Gopher
  •        

    2020/10/22 git

    В очередной раз убеждаюсь, насколько мне не нравится git и насколько неудобна платформа GitHub (не говоря уж о том, насколько мне неприятна та корпорация, кому она принадлежит. Ядро Linux теперь разрабатывается на майкрософтовской платформе. Какой трагический абсурд.)

    Казалось бы, если у меня есть форк некоего репозитория, то влить туда новые изменения из мастер-репозитория должно было бы быть проще простого, это рутинная операция, которая должна бы выполняться одним кликом в веб-интерфейсе. Но нет!

    Во-первых, оказывается, что информация о том, откуда сделан форк, нигде не хранится (кроме сайта гитхаба). И вообще я так понял, что это какое-то нововведение конкретно гитхаба и прочих веб-сервисов (GitLab, bitbucket), реализуемое в каждом случае по-разному, а не функционал собственно гита. Разобраться сложно, поиск лишь даёт понять, что большинство разработчиков вообще не мыслят гит без гитхаба и, следовательно, вопросом, что̀ такое технически форк на Гитхабе, не задаются. Даже официальный сайт https://git-scm.com/ почему-то включает документацию по Гитхабу. Вопросы типа «Как сделать форк репозитория git?» повсеместно получают ответы типа «Идёте на Гитхаб и там делаете то и то». Какая-то каша у людей в мозгах.

    Цитата со страницы, которая, впрочем, тоже мне ничего не прояснила (https://drewdevault.com/2019/05/24/What-is-a-fork.html):

    GitHub is a proprietary, commercial service, and their ultimate goal is to turn a profit.
    

    Как бы то ни было, приходится делать обновление, не вполне понимая, что̀ происходит. Говорим

    git remote -v
    

    и убеждаемся, что никакой информации об источнике форка у нас нет. Добавляем эту информацию:

    git remote add upstream https://github.com/author/Repo.git
    

    (То есть, получается, если у меня много локальных копий, то это нужно проделать для каждой из них?!)

    git fetch upstream
    git checkout master
    

    (последняя команда должна нас переключить на локальную ветку master; зачем было менять привычное значение слова checkout, непонятно).

    git merge upstream/master
    

    (В других местах советуют git rebase upstream/master.)

    git push origin master
    

    обновит форк на гитхабе. Уффф.

    Кстати, ожидаю ещё большей путаницы, когда они начнут убирать везде термин master.

    #git

    UPD (24.10.2020): показательные новости про гитхаб:

    UPD 2 (03.11.2020): ну всё, понеслась:

    "В ответ на активность пользователей по массовому созданию клонов заблокированного репозитория youtube-dl на GitHub, Джесси Джерачи (Jesse Geraci), корпоративный юрист компании GitHub, внёс изменения в правила обработки запросов о нарушении Закона об авторском праве в цифровую эпоху (DMCA)." (https://www.opennet.ru/opennews/art.shtml?num=54012)

    Далее превращается уже в какую-то комедию:

    "Web-интерфейс GitHub примерно на 30 минут оказался неработособен из-за того, что сотрудники забыли вовремя продлить SSL-сертификат для домена githubassets.com" (https://www.opennet.ru/opennews/art.shtml?num=54018)

    permanent link