pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как вы используете jQuery и прочие библиотеки JS, установленные через npm?

Лучший ответ: Собирают исходники в бандл (bundle) системами сборки — webpack / gulp. На выходе получают один js файл (если не использовать code splitting), в котором есть все библиотеки, выполнен tree shaking (удалён мёртвый код), код минифицирован (чтобы меньше весить и быстрее передаваться пользователю) и доведён до целевой версии (babel, который позволяет писать разработчику код с новыми фичами (из ES6), переводя его в целевой (сейчас это чаще всего ES5))
Далее этот бандл автоматически или (реже) вручную внедряется в HTML.
То, про что говоришь ты — это примерно как в 2020 писать на скалах углём.

Худший ответ: Дополню к ответам выше, что папка node_modules должна быть просто в проекте локально, а уже на сервере собранный бандл с подключенными библиотеками. node_modules нужно в gitignor поставить, чтобы не загружать это огромное количество файлов. Если работаете в проекте с кем-то, то все пакеты должны быть в package json прописаны. Через консоль потом пакеты локально загружаются в node_modules
Вопрос: Event в function()?

Лучший ответ: когда в функции нужен ивент.
например, для отмены дефолтного события или определении какое/где событие было вызвано.

Худший ответ: https://developer.mozilla.org/ru/docs/Learn/JavaSc... - смело отмечайте данный ответ, лучше информации не найдете :).
Вопрос: Как запретить изменение типа свойства при выгрузке из 1С?

Лучший ответ: 1С отдает xml файл, где всё строки (нет чисел)
У свойства бывают следующие возможные значения: S - строка, N - число, F - файл, L - список, E - привязка к элементам, G - привязка к группам.
--
Этот API-код меняет тип Строка на Число:
<?
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");

$arFields = Array(
  "PROPERTY_TYPE" => "N", //ставим N если нужно число
  "IBLOCK_ID" => 2 //номер инфоблока
  );

$ibp = new CIBlockProperty;
if(!$ibp->Update(7, $arFields)) // где 7 это номер свойства (ID) в инфоблоке
    echo $ibp->LAST_ERROR; //выведем ошибку если ничего не получилось
?>

По сути, после выгрузки вы можете запустить этот код и нужное свойство поменяет тип.
spoilerPS: Хотя, почему меняется тип свойства - не понятно. Не должно быть так.

Худший ответ: решение для автоматической установки нужных типов свойств.
В файле local/php_interface/init.php ну или в таком же в папке битрикс.
Навешиваемся на событие перед обновлением свойств.
AddEventHandler("iblock", "OnBeforeIBlockPropertyUpdate", "OnBeforeIBlockPropertyUpdateHandler");

function OnBeforeIBlockPropertyUpdateHandler(&$arFields){
//Проверяем, что идет обмен с 1С
    if (!empty($_GET['mode']) && $_GET['mode'] == 'import') {
        //сохраняем необходимые типы свойств инфоблока
        if ($arFields['NAME'] == 'Бренд' && $arFields['PROPERTY_TYPE'] !== 'E') {
            $arFields['PROPERTY_TYPE'] = 'E';
        }
        //для всех числовых свойств N

        $arPropertiesInt = [
            'Максимальная цена',
            'Объем камеры (л)',
            'Мощность охлаждения, Вт',
            'Потребл. мощность (Вт)',
            'Номин. мощность (Вт)',
            'Пиковая мощность (Вт)',
            'Расход топлива',
            'Мощность обогрева макс. (Вт)',
            'Расход газа (г/ч)',
            'Минимальная цена',
        ];
        if (in_array($arFields['NAME'], $arPropertiesInt) && $arFields['PROPERTY_TYPE'] !== 'N') {
            $arFields['PROPERTY_TYPE'] = 'N';
        }
    }
}

В примере использутея название свойства. Можно использовать его ID, но не CODE.
Вопрос: Как запушить на github с помощью ssh?

Лучший ответ: добавить ключ в ssh-agent. 
использовать GIT_SSH_COMMAND.
использовать ssh config. 

я предпочитаю третий вариант.

Худший ответ: https://git-scm.com/docs/git-config#Documentation/...
Можно в конфиге к репозиторию указать спецефичную ssh команду а в ней -i
Вопрос: Как грамотно и с пользой структурировать обучение front-end разработке?

Лучший ответ: Ну лично я начал почти год назад, сразу учил js, потом на первом собесе понял что без верстки нормальной никуда. Начал больше верстать находишь макет в инете красивый и верстаешь. Что касается верстки достаточно посмотреть пару видео где за час верстают какой нибудь магазин. По верстке там уж можно если что нагнать. Как только 3 4 макета нормально сверстаешь, адаптивно и под мобилку. Можешь переходит к JavaScript. Я бы рекомендовал Sorax на ютубе. По памяти ещё помню смотрел JavaScript от а до Я. Среди книг читал в основном кантора, ещё носорога но там сложнее подача но более глубоко все разбирается. И само собой сразу идешь на codewars и делаешь задачи, одну за другой. Это очень помогает. После того как ты уже умеешь решать задачи, понимаешь плюс минус что да как, идешь учить реакт. Хотя бы маленько. Делаешь сайт на реакте в качестве тренировки. Ну или для начала туду или крестики нолики. И уже с реактом найти работу будет значительно легче. Сразу рекомендую забить на jquery. Даже не трать время. Из того что было бы полезно это es 6, bootstrap сетка, scss, react, react hooks, писать на функциях предпочтительнее чем на классах. Ну если кратко то так

Худший ответ: Вначале читаешь короткую ознакомительную статью на каком-нибудь Хабре. Если все ок и реализация понравилась, то читаешь мануал и знакомишься с кодом/контентом. Гнаться за трендами имеет смысл только если они востребованы на нашем it рынке. Пытаться влиться в открытые проекты и собрав первые шишки попробовать создать что-нибудь свое ну или около того.
Вопрос: Как распарсить почту на nodejs?

Лучший ответ: Я использовал библиотеку: https://github.com/mscdex/node-imap - к почте подключается через IMAP протокол и читает всё, что в ней есть.

Худший ответ: Я бы под эти цели плагин для браузера сделал.
Вопрос: Как разработчики игр и софта оптимизируют свои игры и программы под определённое железо?

Лучший ответ: Дополнительные шейдерные инструкции, CUDA, вполне возможно - форматы текстур. Возможно - ковыряние в драйверах и понимание процессов рендеринга на низком уровне.
Да, чаще всего такое встречается не то чтобы в самописных движках, а в тех где какая то часть рендер-пайплайна открыта или редактируема.

Худший ответ: Я полагаю так. Нужно оринтироваться на массовое железо. Если ты купил себе топовое - на нем затестил. То не факт что игра будет хорошо принята игровым сообществом. В своё время создатели Doom-3 не могли сделать релиз. Они ждали пока железо достигнет какого-то уровня

Тоесть - разработчик должен сначала представить себе целевую аудиторию. Кто это? Детишки со смартфонами. У них - на 80% будет один набор фич. Бюджетнички такие себе. Насколько мама с папой им купили телефон - настолько они и поиграют. Это один сегмент.

Другое. Олд-геймеры. Мусчины. Которые прилично зарабатывают. И сидят вечерами спокойно в Steam и покупают то что хотят. У них будет железо топовое плюс минус 1-3 года оставания.

Третье. Офисные клерки. Они сидят на типовых HP/Intel железках. Тоже сегмент.

Вобщем игра должна быть шпионом который собирает профиль конфигурации и рапортует девелоперу на сайт чтоб собрать сведенья по рынку железа и далее - сегментировать его.
Вопрос: Как сделать, чтобы при при клике выполнялось только одно событие (событие повешано на все элементы li)?

Лучший ответ: йа прнс
snippet

Худший ответ: Как по мне задачу можно решить и без js например

snippet

а если c js у меня как-то так получилось, не идеально, знаю

snippet
Вопрос: Не включается компьютер с 4 pin а без него работают вентиляторы, почему???

Лучший ответ: Вот единственно правильный алгоритм в Вашем случае:
 Если есть мультиметр, и умеете им пользоваться - отключаем от мат платы все питания, мультиметр на прозвонку (ну или на измерение сопротивления в минимальном диапазоне) - и проверяем по +12В питание процессора (4pin). Если там короткое замыкание (несколько ом сопротивление) - мат.плату с процессором в ремонт. А лучше весь комплект - т.к. возможно блок питания убил плату.
Если нет мультиметра - ставим заведомо исправный БП, и проверяем. Не помогло - опять же мат.плату в ремонт (или лучше в комплекте). Помогло - старый БП в ремонт (или на мусорку, смотря что за БП, некоторые нет смысла чинить). 
С мультиметром быстрее.

Худший ответ: Проверять с другим рабочим блоком питания.
Возможно БП не тянет нагрузку - процессор, а без нагрузки демонстрирует минимальную работоспособность.
Вопрос: Существуют ли психотерапевты для программистов?

Лучший ответ: "Для программистов" вряд ли существуют, по крайней мере в том виде, в котором Вы себе представляете. Я говорю о например что его гложит в javascript'е, с чем затык, почему не получается
Исходя из такой логики(если я правильно уловил ход Ваших мыслей), психотерапевт мало того что должен быть компетентен в психологии, так еще и быть высококлассным программистом во всех областях и во всех языках, чтобы понимать боли и "затыки" всех своих пациентов, но это, как понимаете, невозможно.
Во многих крупных компаниях на западе есть штатные психологи, которые получают зарплату за то, что помогают сотрудникам компании в трудные моменты, в том числе бороться с выгоранием. Ваша ошибка на мой взгляд в том, что Вы, вероятно, будучи программистом, смотрите на проблему через призму своей профессии и думаете, что тут нужен особый подход и погружение в профессию. Однако чтобы понимать специфику проблем не нужно быть компетентным в программировании, все эти наши "нежелания изучать что-то новое" и прочие депрессии легко классифицируются более высокоуровнево, что позволяет психологам решать проблему независимо от того кто перед ними - программист, бухгалтер или футболист.
Вопрос профессионального выгорания особо остро стоит у программистов - тут я соглашусь, специфика такая. Но это не значит, что для лечения нужно быть с головы до ног погруженным в IT. Высококвалифицированному психотерапевту изучить особенности профессионального выгорания программистов от а до я не составит труда за неделю-другую, и для этого ему совсем не нужно знать javascript)

Худший ответ: В крупных компаниях такими психологами могут выступать отчасти тимлиды, а просто как узкая специализация — нету такого.
Вопрос: Что посоветуете в дипломном проекте?

Лучший ответ: я посоветую одно - это сменить руководителя дипломного  проекта и тему  диплома

Худший ответ: Возьми modx, через стандартный обмен с битриксом, можно обработчик битрикса подправить и норм зальется, розницу 2.1 скрещивал, правда там 2к товаров было, но поиграться можно
Вопрос: Установил автопрефиксер и выводит в консоль ошибку как исправить?

Лучший ответ: Это не ошибка, это предупреждение, по сути оно работе не мешает, но если бесит легко фиксится, нужно в предложенном в доках pipe заменить browsers: ['last 2 versions'] на overrideBrowserslist:  ['last 2 versions'] и тогда предупреждение пропадает)).pipe(autoprefixer({
            overrideBrowserslist:  ['last 2 versions'],
            cascade: false
        }))

Худший ответ: Черным по белому написано в чем проблема и как ее решить. А по первой ссылке есть примеры.
Если есть проблемы с пониманием английского языка, используйте translate.google.ru
Вопрос: Как извлечь кубический корень в гугл таблицах?

Лучший ответ: Как вариант, только комбинацией формул

=SIGN(-9)*ABS(-9)^(1/3)

Худший ответ: Самое подходящее решение, это в стандартной функции СТЕПЕНЬ указать степень, равной 1/3:
=СТЕПЕНЬ(исходное число;степень), где степень = 1/3
Вопрос: Как правильно настроить и обслуживать связку Microsoft SQL Server и 1С?

Лучший ответ: Самое первое загляннуть в коробку из любого продукта 1С и найти там книгу Клиент-серверный вариант. Руководство администратора

Ну очень занимательно чтиво, остальное опыт.

Худший ответ: Если вы располагаете сервер приложения 1С-Предприятия и  MS SQL сервер на одном физическом компьютере, то последнему нужно настроить ограничение использования ОЗУ по формуле, которую можно найти в сети.
Вопрос: Как nodejs обрабатывает десятки тысяч соединений?

Лучший ответ: Самые большие затраты на ввод/вывод. Грубо говоря, если один запрос 90% времени ожидает I/O, то в случае 10 000 конкурентных запросов сервер 9,999% времени находится в ожидании I/O, а асинхронное выполнение позволяет это время использовать с пользой или попросту списать. В то время как многопоточный сервер, обрабатывающий 10k соединений, 90% времени будет тратить на переключение контекста, да и то, если памяти хватит.

Худший ответ: Так-же как и любые другие веб серверы, быстро переключается на выполнение других операций, пока текущие чего-то ожидают.
Вопрос: Как правильно перенаправить?

Лучший ответ: Если в пределах одного сайта, то достаточноwindow.location.href = '/thanks'

Худший ответ: В чем может быть проблема?
Не указан протокол и перенаправление идет по относительному пути.window.location.href = window.location.origin + '/thanks';
или:window.location.href = window.location.protocol + '//' + window.location.hostname + '/thanks';
Вопрос: Безопасно ли так производить запись пользовательского текста в базу?

Лучший ответ: $sth = $dbpdo->prepare("INSERT INTO `blogs` SET `text` = ?");
Этого достаточно для защиты от sql injection.

В приведённом коде нет проверки авторизации и защиты от CSRF.

$post_text = addslashes($_POST['post_text']);
Зачем это тут?

if(strlen($post_text) > 15) {
К безопасности это не относится, но лучше всё же mb_strlen.

Худший ответ: А где htmlspecialchars и иже с ними?
Вопрос: Как увеличить количество hdd дисков на материнке?

Лучший ответ: Судя по слотам - забить по контроллеру дисков в pci-e

Но я незнаю, есть ли контроллеры на 8сата...

А вообще - Вы дико просядете по скорости
Я бы советовал купить норм мат плату с несколькоми pci-e

И еще вопрос. - как Вы их в корпусе разместите?

Вариант 2 - купить дисковую полку

Худший ответ: Для получения максимального объёма диска есть режим JBOD. Тоесть все диски тупо плюсуются и система видит один большой диск. 
Само собой о надёжности в режиме JBOD речи не идёт, сдохнет один диск - вырубится всё.
Вопрос: Как взломать архив rar?

Лучший ответ: Если rar был современный, то все... Старые версии (десяти например летней давности может быть какой-то шанс). Когда говорят про взлом паролей, я всегда вспоминаю такой момент:

В те времена, когда вместо тырнета были BBS, говорят в г. Новосибирске была такая Granch BBS и у нее в факе был такой вопрос:
Q: Я перепил и забыл свой пароль
A: Попробуйте перепить еще раз и вспомнить его

Сбрутить такой пароль нереально :)

Худший ответ: Не получится...
Я сам пытался такое сделать брутфорсом, но это всё крайне медленно идёт, даже перебирая по миллиону вариантов в секунду...
А без брутфорса и пароля нельзя никак, защита у современных архиваторов очень мощная, которую постоянно подкрепляют...
Вопрос: Как конвертнуть в hex формат при помощи c#?

Лучший ответ: hex - это не формат, а представление бит. То, что ты видишь в блокноте или hex-редакторе, открыв через них файл - лишь разные представления бит (нолей и единиц). Их можно представить хоть в hex (шестнадцатиричная система), хоть в восьмеричной, хоть в десятичной, хоть в символах, что и делает большинство блокнотов.

Arduino IDE не переводит код в hex, она собирает сектч - компилирует его. Что такое компиляция - ты должен знать, раз хочешь что-то там сделать на шарпе. 

Тебе нужно скомпилировать скетч. Компилируется он, как ни странно, компилятором. Он находится в папке со средой Arduino IDE. Ищешь его, вызываешь сборку нужного скетча. А лучше, иди и погугли "ручная компиляция скетча arduino".

Конечный HEX файл создается из скомпилированного бинарного файла, а не из кода.

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

Худший ответ: Arduino IDE копирует код скетча и библиотеки, которые в нём указаны с помощью директив #include во временную папку, а затем компилирует программу с помощью компилятора avr-gcc для заданного пользователем микроконтроллера.
Затем полученный elf файл с помощью утилиты avr-objcopy конвертируется в формат hex для того, чтобы загрузить его в микроконтроллер с помощью avrdude по протоколу stk-500.
Вопрос: Почему при отключении брэндмауэра Windows доступ к компьютеру не открывается а наоборот блокируется?

Лучший ответ: Почему при отключении брэндмауэра Windows доступ к компьютеру не открывается а наоборот блокируется?На вопрос невозможно ответить, ибо он содержит недостоверную информацию.
Брандмауэр это программа которая контролирует сетевой трафик вашего компьютера и может блокировать или разрешать отдельный трафик.
Если его отключить - никто трафик не контролирует, не блокирует, и не разрешает.

без доступа к интернету собственный брэндмауэр Windows не особенно то и нуженА при чем тут доступ к интернету?
Брандмауэр может быть нужен или не нужен вне зависимости от наличия подключения к интернету.
Если вам надо контролировать сетевой доступ к компьютеру внутри локальной сети - брандмауэр в этом поможет.
Если вам надо контролировать доступ к комьпютеру из глобальной сети - брандмауэр тоже может помочь, но лучше использовать более надежные и эффективные методы. Например брандмауэр на шлюзе.

вместо него касперскийВот касперский скорее всего и блокирует трафик.

Худший ответ: во внутренней сети, без доступа к интернету собственный брэндмауэр Windows не особенно то и нужен, от него иногда даже больше вреда чем пользынаивное предположение. факты:
- да, нагрузку создает (но это мизерная нагрузка для компа адекватного поколению ОС)
- но и защищает. сосед по локалке принес флешку с вирусом, который умеет распространятся как червь. и вы приплыли
пробовал отключать службу "центр безопасности" - непомогло, защитник windows итак отключен, вместо него касперскийни когда не ставьте два антивируса, они могут подраться. вплоть до BSOD
советы:
- защитник windows самодостаточен, особенно в сочетании с собственным брэндмауэром Windows
- если очень сильно хочется получить точно такие же, и даже большие вилы в бок от отечественного производителя.. ну.. мазохизм запретить невозможно. это ваш личный выбор
Вопрос: В некоторых веб приложениях есть возможность добавлять поля. Как это сделано?

Лучший ответ: В большинстве случаев с помощью EAV сделано.

Худший ответ: Чаще всего используется EAV. Если речь не о сервисе которым пользуется множество клиентов, можно добавлять реальные колонки к таблице.
Как же можно использовать документоориентированную БД, например MongoDB.
Современные РСУБД поддерживают JSON поля и операции над ними. А в Postgres есть индексируемое поле JSONB. С его помощью можно совместить преимущества классических реляционных баз, и простоту NoSQL. При этом оно ещё и очень быстро работает за счёт индексов.
Вопрос: Если в БД есть запись «строка» — вставить запись «строка-1», если есть «строка-1» — вставить «строка-2»?

Лучший ответ: Я бы немного изменил структуру, добавив одно дополнительное поле и уникальный индекс на поле name...
Короче...

Таблица:
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `count` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

При вставке записей использовал бы такой запрос:
INSERT INTO `test` (`name`) VALUES ('строка') 
ON DUPLICATE KEY 
UPDATE `count` = `count` + 1;

Что в итоге?

- В итоге не будет лишних объёмов данных в БД...
- Всего один запрос на вставку;
- В поле count будет число - сколько раз была занесена данная строка в БД...

UPDATE:

Исходя из комментариев и подробностей автора дополняю ответ...

Можно например использовать Redis (increment)...
Где ключ будет "строка" (в данном случае kot например).
Перед записью ныряем в Redis, подкручиваем "счётчик" и далее берем это значение и записываем в MySQL в поле slug:

kot-ЗНАЧНИЕ_СЧЁТЧИКА

В итоге один запрос в Redis и один INSERT в MySQL...

Понятна мысля?)

P.S.: Redis можно и на MySQL тож заменить...используя мой первый вариант в ответе в качестве счётчика вместо Redis'а...но тут на пару запросов больше выйдет...что и не критично в данном случае думаю...

Худший ответ: Периодически использую в Yii расширение Zelenin\yii\behaviors\Slug для генерации slug, но никогда не заглядывал "под капот" как оно там работает. Сейчас заглянул - автор в цикле добавляет к сгенерированному slug число и проверяет нет ли такой записи в таблице.
Вопрос: Как убирать элемент, когда он пересекает другой блок?

Лучший ответ: const el = document.querySelector('.element');
const wrapper = document.querySelector('.wrapper');


window.addEventListener('scroll', () => {
  const wrapperBox = wrapper.getBoundingClientRect();
  const elBox = el.getBoundingClientRect();

  const isInside = elBox.top > wrapperBox.top && elBox.bottom < wrapperBox.bottom;

  el.style.opacity = isInside ? 1 : 0;
});
И к стилям .elementtransition: opacity 0.3s;
opacity: 0;

Худший ответ: Фига ты выдал)) тут обычно помогают разобраться с твоим кодом если что-то не получается, а с нуля тет редко что-то пишут) По факту берешь scroll событий и получаешь координаты своего серого блок, потом получаешь координаты круга и как только они пересеклись делаешь появление как только они разошлись скрывать.
Вопрос: Есть ли готовые решения для сайта по работе с таблицами на подобие exсel?

Лучший ответ: видимо вам нужно что-то вроде https://jspreadsheets.com
сам не использовал

Худший ответ: Так  гугловые таблицы же
Вопрос: JS последовательность изучения, что учить после основы в 2021 году?

Лучший ответ: Хватит учить, иди работай. Там уже и поймешь тренды

Худший ответ: Хватит учить, иди работай. Там уже и поймешь тренды
Вопрос: Как заменить число 1 на порядок цифр 1 до 366?

Лучший ответ: Регулярки для этого не предназначены в текстовых редакторах.
Но если сам текст - это код (например, js), то вместо единиц можно вставить:
x++
А в самом начале скрипта
var x = 1;

Ещё вариант - написать свой собственный отдельный временный скрипт на любом простецком языке, который сделает всю работу над текстом. На том же js или какой язык вы хорошо знаете.

UPD: Вот, пример скрипта на Lua, который делает замену:
spoilers = [[
{
  "predict_UNIQUAL_number": 1,
  "text": "Удача придет откуда не ждете."
},
{
  "predict_UNIQUAL_number": 1,
  "text": "Давние долги будут возвращены вам."
},
{
  "predict_UNIQUAL_number": 1,
  "text": "Вас ожидает неожиданное денежное поступление."
},
{
  "predict_UNIQUAL_number": 1,
  "text": "Все неоконченные дела будут завершены."
},
]]

local x,n = 0,1
repeat
    x = s:find('1', x+10, true)
    if x == nil then
        break
    end
    s = s:sub(1,x-1) .. n .. s:sub(x+1,#s)
    n = n + 1
until false
print(s)
Вам нужно открыть любую песочницу, например эту, вставить скрипт, и нажать Run. Далее скрипт сделает всю работу. Сам скрипт написан за несколько минут на коленке.

Худший ответ: Скопировать в Кальк/Эксель, там формулой изменить.
Вопрос: Чем мониторить работу сотрудника?

Лучший ответ: Время на уборную логать? Серьезно?
Только если у вас режимный объект. В противном случае ваши сотрудники от вас быстро сбегут.

Худший ответ: Просто сделайте кнопку и заставьте сотрудника каждые 5 минут на неё нажимать. Кто не нажмёт  - штраф 1000 рублей. За день всю зарплату потеряет - будет всегда нажимать.
Вопрос: Как привести локальный git репозиторий в соответствии с удаленным?

Лучший ответ: Если нужных правок локальных веток нет - 
git checkout branch_name
git reset --hard origin/branch_name
Если есть - создай папку рядом, подними там git
Добавь его как второй origin и сделай в него пуш нужных веток.
Вернись к варианту 1
Потом смержи правки и удали вторую репу.

Худший ответ: Сделал клон в соседнюю директориюgit clone remote.git public_html2
Удалил папку .git из рабочей директорииrm -rf public_html/.git
Перенес .git из только что созданного клонаmv public_html2/.git public_html/.git
Сделал в рабочей директории сбросcd public_html/
git reset --hard
Удалил временного клонаcd ../
rm -rf public_html2
Вопрос: Как называется режим в котором windows пишет все изменения в оперативную память а не на диск?

Лучший ответ: вспомнил что пришло это из windows embedded
ewf (Enhanced Write Filter)
uwf в более новых версиях

Худший ответ: В windows хз, но такое можно сделать при помощи acronis true image а ещё вот тут куча прог для этого обсуждалось:
Восстановление оригинального состояния системы при каждой загрузке