我刚刚开始使用 git 进行版本控制。我想在本地文件服务器上保留我的存储库的备份副本。在阅读了备份 git 存储库的正确方法后,我决定将存储库作为 git bundle 存储在文件服务器上。
我可以 bundle 我的存储库并将生成的 bundle 复制到文件服务器。查看。我也试过克隆并从中提取。一切正常。但是,我也想不时地 push 我的本地更改。当我执行类似的东西时
git push bundlefile.git
我得到错误:
error: failed to push some refs to 'bundlefile.git'
您可以从一个包中克隆或 pull ,但不能推送到它吗?我真的不想每次备份时都创建一个包含整个存储库的包。
这是用户错误还是 bundle 不打算推送到?
最佳答案
您不能直接推送到 bundle 文件。 bundle 文件是存储库的压缩表示,要对其进行修改,将涉及重新 bundle 、推送和 bundle 。
如您所说,一种方法是在每次要备份时创建一个新包。
另一种方法是在文件服务器上创建一个裸 存储库,然后推送到该存储库。裸仓库是没有工作目录的仓库,它本质上是来自普通克隆的 .git
目录的内容。您可以使用 git init --bare
创建裸存储库。
关于git - 我怎样才能推送到一个git bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876070/