3 bookmarks for 2025-10-29

165.

Приватная предыстория разработки в публичном репозитории

t.me/oficsu_blog/21

Задача: нужно заопенсорсить локально разрабатываемый проект

Препятствие: локальная история содержит грязь, да и вообще потенциально опасные вещи вроде приватных ключей, которые затруднительно выискивать в истории, чтобы подчистить

Очевидное решение? Сквошим все коммиты в один, например так: git reset "$(git commit-tree "HEAD^{tree}" -m "initial commit")". Затем пушим результат в новый публичный репозиторий, забываем старую историю как страшный сон, и продолжаем вести разработку, отсчитывая историю уже с нового коммита

Проблема: а что если мы не хотим забывать старую историю? Что, если нам всё ещё полезна полная история разработки, и мы иногда хотим локально заглядывать в git blame или git log -p (но ни в коем случае не пушить)? Неужели придётся каждый раз обращаться к старой ветке явно, чтобы посмотреть, что было до нашего релиза в публичную репу? Или вообще ребейзить её? Куча скучной нудной унылой повторяющейся работы каждый раз?

Менее очевидное решение.…

164.

Алексей Шипилёв — Shenandoah: сборщик мусора, который смог

www.youtube.com/watch?v=CnRtbtis79U
163.

The Green Tea Garbage Collector - The Go Programming Language

go.dev/blog/greenteagc

Go 1.25 includes a new experimental garbage collector, Green Tea.
The key idea behind Green Tea is astonishingly simple:
Work with pages, not objects.