git push是一个足够的备份解决方案吗?

git push是一个足够的备份解决方案吗?,git,push,Git,Push,我开始使用git。 我将是唯一一个使用回购协议的人。出于备份目的,我希望定期将我的repo推送到远程服务器 使用git-push可以 git push error 'remote rejected] master -> master (branch is currently checked out)'. 为了解决这个问题,我在远程位置创建了一个虚拟分支,并签出了这个分支 现在推到master可以正常工作了 我有点担心,因为我看不到远程位置的实际文件。 这个系统可以作为备份系统使用吗?当我

我开始使用git。 我将是唯一一个使用回购协议的人。出于备份目的,我希望定期将我的repo推送到远程服务器

使用
git-push
可以

git push error 'remote rejected] master -> master (branch is currently checked out)'.
为了解决这个问题,我在远程位置创建了一个虚拟分支,并签出了这个分支

现在推到master可以正常工作了

我有点担心,因为我看不到远程位置的实际文件。 这个系统可以作为备份系统使用吗?当我切换到远程位置的主分支时,所有文件都存在。 备份文件是在推入非活动分支时生成的,还是在分支变为活动时生成的

希望你能帮我把事情弄清楚


问候。

更新(
git pull
)您的远程分支,您将看到您的更改。

我宁愿推到裸回购(因此,没有签出分支),或者更好(从备份角度)推到捆绑:
见“”

这样,您只需在本地创建一个文件,就可以轻松地备份到其他地方。
(如果您不需要历史记录,也可以使用)


但是,如果您已经有一个用于git repo的服务器,则需要在其上引用一个裸repo,以避免任何推送错误消息

如果您的备份位置已签出branch
backup
,并且您按下branch
master
,那么当您在备份位置备份文件时(即使您在备份位置执行
git pull
),它将只备份当前签出的分支中的文件


但是,将包含引用的.git文件夹备份到其他分支。因此,从理论上讲,你是在支持整个回购协议,推动一个裸回购协议:谢谢你的回答。推送到裸回购将从.git文件夹中复制所有分支的REF?如果我现在继续按设置的方式进行操作,我将只按主分支的引用,对吗?@SirBlack:您只能同时按当前分支或所有分支(和标记)。基本上,这与非裸回购相同。因此,备份ref将保存所有信息以重新生成文件和文件结构?@SirBlack:从
.git
备份ref?无需:您只需在服务器上创建一个裸repo,并将所有内容从本地repo推送到该裸repo。不需要在
.git
中选择子目录,而不仅仅是“理论上”。如果备份.git文件夹,就是备份整个repo。@Karl,是的。。。我用词不当。我的意思是它不会备份那些精确的文件,但你肯定能够从refs@Jaitsu他已经把分支推到了远程服务器上,他问为什么他看不到它。哦,是的,被
hg-up