如何将git存储库的副本(存档,而不是克隆)连接到其远程存储库?
我想知道如何将git repo的副本(存档,而不是克隆)与其远程repo连接并同步 背景: 我有一个本地和远程存储库。我使用git archive压缩本地存储库,然后将其复制到服务器:如何将git存储库的副本(存档,而不是克隆)连接到其远程存储库?,git,github,archive,Git,Github,Archive,我想知道如何将git repo的副本(存档,而不是克隆)与其远程repo连接并同步 背景: 我有一个本地和远程存储库。我使用git archive压缩本地存储库,然后将其复制到服务器: $ git archive --format=tar HEAD | gzip > myarchive.tar.gz 问题: 解压服务器上的存档后,如何再次将服务器副本与远程存储库连接并同步 如果我这样做: $ git init $ git remote add origin git@github.com/
$ git archive --format=tar HEAD | gzip > myarchive.tar.gz
问题:
解压服务器上的存档后,如何再次将服务器副本与远程存储库连接并同步
如果我这样做:
$ git init
$ git remote add origin git@github.com/myusername:reponame.git
$ git fetch origin
git状态仍然报告所有未跟踪的内容
我应该怎么做才能使我的解压文件夹与远程repo完全同步,这样我就可以简单地将任何未来的提交拉到远程repo
非常感谢,,
Tim不要做归档:做一个:这会给你一个文件,除非你在远程位置复制后能够从中提取 有关详细信息,请参阅“” 该捆绑包也可以是增量的(另请参见“”)。
这意味着您不必复制完整的回购协议,只需复制自上次备份以来丢失的提交 我有一个脚本,它可以访问我所有的裸机回购,每周进行一次完整备份,每天进行增量备份(如果检测到新的提交):
如前所述,git archive只保存一个修订版,这将使远程repo中的任何同步都不完整(缺少中间提交)
另一种方法是删除,但包含太多(包括可能的私有敏感文件或钩子脚本)
git bundle
是git的方式。应该提到的是,archive
在这里不合适的原因是它只打包了一个版本的内容,没有任何历史信息——如果它应该重新集成到git repo中,这些信息是很重要的。@Nevkrehnel确实如此。我已经在答案中加入了你的评论,以提高可视性。太好了!非常感谢,@VonC和nevkrehnel。我很感谢你的解释和链接。你好,蒂姆