繁体   English   中英

我怎样才能推送到git包

[英]How can I push to a git bundle

我刚刚开始使用git进行版本控制。 我想在本地文件服务器上保留我的存储库的备份副本。 在阅读了备份git存储库的正确方法之后,我决定将存储库存储为文件服务器上的git包。

我可以捆绑我的存储库并将生成的包复制到文件服务器。 校验。 我也试过克隆和拉扯它。 一切运作良好。 但是,我也想不时地推动我的本地变化。 当我执行类似的事情

git push bundlefile.git

我收到错误:

error: failed to push some refs to 'bundlefile.git'

您可以克隆或从捆绑中提取,但是不可能推送它吗? 每次我想要备份时,我真的不想创建整个存储库的捆绑包。

这个用户是错误还是捆绑不打算推送到?

您无法直接推送到捆绑文件。 捆绑文件是存储库的压缩表示,要修改它将涉及再次捆绑,推送和捆绑。

一种方法是按照您的说法,每次要进行备份时创建一个新的捆绑包。

另一种方法是在文件服务器上创建一个存储库,并推送到该存储库。 裸存储库是没有工作目录的存储库,它实际上是普通克隆的.git目录的内容。 您可以使用git init --bare创建一个裸存储库。

如果您对远程文件服务器具有写入权限,请务必:

myrepo$ git init --bare //server/my/backup/folder/myrepo.git
myrepo$ git remote add backup  //server/my/backup/folder/myrepo.git
myrepo$ git push backup --mirror

我没有尝试过这个,但是在MSys中我用/j/myFolder/myrport.git这样的路径完成了它。

myrepo$ git push --set-upstream backup master

然后恢复只是它的一个克隆,

dev$ git clone //server/my/backupo/folder/myrepo.git
Cloning into myrepo...
dev$ cd myrepo

而你又回到了快乐的地方。

听起来你在文件服务器上有权限问题。 确保您的用户/组具有写入权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM