TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #3471 2.63K
#такое дня

Итак, что же произошло?

Жена изучает Wordpress и React. Вот вы знали, почему Gutenberg — конструктор блоков в Wordpress — так боготворят? Вот я раньше не знал, пока, собственно, жена в колледже не начала его изучать.

Если коротко, каждый блок в Gutenberg можно описать в React. А потом рендерить WYSIWYG в конструкторе и PHP-версию для сайта. Исконный SSR как он есть :) На самом деле, я был почти в восторге.

И для этого процесса имеется кодогенератор.

Он сгенерирует JSON-схему блока, стили и начальные скрипты для редактора и клиентской части сайта, package.json с нужными скриптами, PHP-обвязку, readme... В общем, с десяток файлов.

Но вы не за этим тут собрались, верно?

Итак, нагенерировали 9 блоков, три из них практически полностью закончили, остальные — оставили в виде кодгена. И попросила жена меня помочь уложить всё в git. Последить, что все сделано правильно.

Как показали события, нашла, конечно, кого просить.

Ну, первый раз чтоле:
git init
touch .gitignore
git add .
git status
...так, index.php же не нужен...
git reset --hard
echo "index.php" >> .gitignore
...блять

89 файлов исчезли, осталось лишь то, что было открыто в файлах.

Зачем я сказал сделать хард-ресет — я сам не очень понимаю, если честно. Даже не спрашивайте. Я привык работать инкрементально: и добавлять файлы с самого начала, и ветки на каждый чих и так далее. Потому ресет для меня был инструментом простой подчистки мусора.

Теперь-то понятно, что от этой привычки надо избавляться.

К счастью, в git ничего не пропадает бесследно. Есть возможность вытащить «подвисшие» файлы из индекса, пока не произошёл коммит. Как-то так:

git fsck --lost-found

Эта команда вытащит подвисшие файлы в директорию .git/lost-found/.

Вот только вытащит она их по хэшу. Названия будут утеряны. Ну и ещё — одинаковые файлы будут, очевидно, схлопнуты в один (ещё раз внимание на слово хэш).

К счастью, мы же помним, что у нас кодогенератор? Содержимое каждого из этих файлов явно говорит, к чему оно относится. Так что, вооружившись списком файлов, который мне ранее дала команда git status, я создал 89 пустых файлов с верными именами и пошёл копировать один за одним. Полчаса из жизни.

Но точно не впустую. Выводы сделаны. Учитесь пользоваться инструментами, котаны. Не полагайтесь на привычку.

Да, во многи редакторах присутствует концепция локальной истории, но тот же VS Code реагирует только на открытые файлы.

В общем, было весело. И немного стыдно, да.

P. S. удалять index.php из списка добавленных файлов надо было так:

git reset index.php

Или просто

git reset

...чтобы очистить список файлов к добавлению.

#git #wordpress #fail
  • ❤ 17
  • 🫡 13
  • 👍 7
  • 🤩 1
More from @htmlshit
  1. Oct 13, 2026#инструмент дня Когда надоело, что ссылки из рабочего Slack открываются в личном профиле C…
  2. Oct 12, 2026#статья дня У vlt.io есть собственный коммерческий реестр npm-пакетов. Казалось бы, зачем…
  3. Oct 11, 2026#дичь дня Лукас Бономи сделал GSS (GPU Style Sheets) — язык, на котором можно создавать по…
  4. Oct 10, 2026#инструмент дня TanStack Charts 1.0 — Таннер Линсли довёл до стабильного релиза свою библи…
  5. Oct 6, 2026#ссылка дня Недавно в нашем чате был жаркий спор на тему доступности. Мол, нормально делай…
  6. Oct 5, 2026Стилизация тултипов Два года назад я писал о проблеме с title и о принятом рабочей группой…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →