Я пытаюсь создать историю фиксации, используя команды git plumbing с открытым репо. Я могу создавать коммиты с единственным неименованным деревом, содержащим blobs, но я не могу понять, как заставить этот неименованный древовидный объект содержать другие древовидные объекты.с использованием git read-tree без рабочего дерева
Я попытался с помощью git read-tree --prefix=tree_name tree_sha
и он говорит мне: fatal: This operation must be run in a work tree
Я попытался с помощью git mktree
(как это показано на this page) так: cat ../info.txt | git mktree
info.txt собой файл, содержащий 1 строку:
040000 tree aa8c07e1371022a183b011d5d41517ef54780a17 test_tree
и он говорит мне:
fatal: input format error: 040000 tree aa8c07e1371022a183b011d5d41517ef54780a17 tree_name
Может ли кто-нибудь сказать мне способ создания и названия деревьев?
Я не уверен, что я вставил его здесь неправильно, но у меня было 4 пробела между ша и именем дерева (test_tree). Я дважды проверил и попробовал еще раз, у меня все еще такая же ошибка. – prw56
Я знаю, как Git работает внутри, но я не знаю, что делают большинство команд git. Вы можете попробовать сделать это вручную, но это не так просто сделать. – ThePyroEagle
Прошу прощения, когда я проверил это, прежде чем я предположил, что изначально я использовал вкладку между хэшем и именем дерева, поэтому я подумал, что это не проблема, оказывается. заменив 4 пробела между aa8c07e1371022a183b011d5d41517ef54780a17 и test_tree, которые у меня были с вкладкой, зафиксированной им. – prw56