Ветка создается не откуда попало, а от главной ветки, в которую вы хотите вливаться.
git rm --cached src/openapi/yourfile.json
git add src/openapi/yourfile.json
git commit -m "Re-add JSON file as binary"
@echo off
chcp 1251 >nul
echo %date% %time% > spisok.txt
setlocal enabledelayedexpansion
set "separator=, "
(for %%f in (*) do (
set /p "=%%f%separator%" <nul
)) >> spisok.txt
endlocal
git checkout sha_коммита -- .
-- .
означает все файлы. Без этой добавки тоже извлечет все файлы, но ещё и передвинет указатель HEAD на данный коммит, но вы этого хотите избежать.Либо использовать более логичную новую команду
git restore --source=sha_коммита -- .