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