【问题标题】:How do you backup a Git repository?如何备份 Git 存储库?
【发布时间】:2014-04-22 19:48:37
【问题描述】:

我在 StackOverflow 上研究过有关推拉的帖子,但这里有一个“新手”问题作为故障转移,以防我犯了错误(这对我来说当然是不可能的......)。

问题是,如果我在本地复制 repo 文件夹,然后从副本中删除 .gitignore 文件和 .git 文件夹,我是否完全删除了 git 对该副本文件夹的认识?强>

我希望答案是肯定的,再说一次,这只是一个措施,直到我在多个分支的推拉之间完全安全

【问题讨论】:

  • 作为@watson points out in his answer,手动复制基本上会创建两个独立的存储库,它们不会“意识到”彼此(在这种情况下)。如果您只想备份,那么您只需要一个简单的cp -r,您无需删除.git 文件夹。如果你删除.git,那么你就不是真正的备份,因为这样做基本上会删除你的回购的历史记录,所以你实际上正在失去工作。这真的是你想做的吗?

标签: git gitbox


【解决方案1】:

如果您制作了 repo 文件夹的副本,即使存在 .git 和 .gitignore 文件夹/文件,原始文件夹或副本都不会相互了解。

在大多数情况下(不包括子模块),特定 repo 文件夹将拥有的其他 repos 的唯一知识,作为其远程、来源或其他方式存在。

【讨论】:

    【解决方案2】:

    答案是肯定的,如果 .git 目录不存在,这不会被视为 git 存储库。不过,在 git 内部有一个很好的 stash 命令,它会带您进行本地更改并将它们存储在自身中,以便您以后可以返回它们。

    【讨论】:

    • @Nikhil_Gupta,谢谢你,作为说明,我很欣赏你实际上回答了我发布的问题而不是说“学习存储并增加你的工作量” - 我会看看虽然我在 mac 上的 gitbox 选项中没有看到它,但同时感觉更安全的是推拉
    • 删除.git文件夹基本上会丢弃存储库的历史记录,因此它不是真正的备份,实际上是一件非常危险的事情。
    • 这就是塞缪尔想要的。他正在尝试将整个 repo 备份到不同的目录并从那里删除 .Git。
    猜你喜欢
    • 2011-01-08
    • 2012-04-06
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 2010-11-18
    • 2011-07-26
    • 2011-01-19
    • 2011-03-20
    相关资源
    最近更新 更多