Да, вы можете явно поставить BLOB-объект по определенному пути с помощью git update-index
.
git update-index --cacheinfo 100644 <sha1-of-blob> path/in/repo
Вам также нужно будет использовать --add
, если путь представляет собой новый файл ветви.
Если файл, который вы хотите создать, - это большой двоичный объект, которого еще нет в репозитории git, тогда вы можете сохранить новый большой двоичный объект в репозитории git с помощью git hash-object
, например ::
blobid=$(command_that_creates_output | git hash-object -w --stdin)
или
blobid=$(git hash-object -w /path/not/necessarily/in/repository)
Затем вы можете создать блоб, как указано выше.
git update-index --cacheinfo 100644 blobid path/in/repo