备份使用git的项目

时间:2010-01-12 05:38:06

标签: git

在快速重新安装之前,我正在刻录DVD上的东西。从来没有用git作为最近的用户。所以我只是和你们一起检查。如果我理解正确的话,我只需要备份我的项目目录project_name(里面有 .git ),同时查看隐藏文件,当我将它复制到“新”机器上时,再次安装git,我恢复什么都没发生?正确吗?

2 个答案:

答案 0 :(得分:12)

如果您只想备份项目文件(没有历史记录),可以使用git archive(这样,我不必“查看隐藏文件”)

脚本git-archive-all.sh实际上会归档当前路径中的所有git存储库和子模块。

  

用于创建包含其他子模块的git超级项目的单个tarfile。


正如Charles Bailey在评论中正确提到的那样, git bundle 更适合保存历史记录。 (February 2007)中引入了git bundle

请参阅Backing up a git repository with git bundle

  

git bundle旨在允许在存储库之间没有直接连接时传输git提交(即:离线),但由于提交的数量很多,而且使用多个分支,因此不能使用补丁。
>   git bundle只是一个文件,可以非常容易地创建并再次导入,因为它可以被视为另一个远程。一个简单的例子:

jojo@dualtron:~/devel$ git bundle create ~/devel.bdl master test 
  

并且捆绑包保存在包含我的主分支和测试分支的~/devel.bdl下   如果我现在在存储库B,我只使用jojo@dualtron:~$ git ls-remote devel.bdl向我显示存储在包中的分支   要使用捆绑包,我可以使用git fetch(例如)

将其简单地视为远程
jojo@dualtron:~/git/repoB$ git fetch ~/devel.bdl refs/heads/\*:refs/remotes/bundle/\*

答案 1 :(得分:8)

是的。那就对了。