Copy git repository

场景:需要使用一个新的 git repo,或者系统重装后需要在本地建立 git repo。
限制:1. 网速慢,不稳定。(比如需要翻墙的情况)2. 文件非常多(>100000+)
前提:有备份

如果 repo 中的内容比较少,网速也不错,好办,直接 git clone {{URL}} 即可。
但因为有前述的限制条件,我们可以从备份中直接取到这些文件,再连上远程仓库更新就好。

具体可以这样:
Copy 备份的 git repo 中的 .git 目录,假设 copy 后的目录结构是:~/hello/.git
$cd ~/hello
$git checkout -- *
即可。或者更简单地
$cd ~/hello
$git stash
这是一种比较取巧的办法,因为此时拷贝过来的仅仅是 .git 目录,其他文件都删了,这时执行 stash 命令相当于把这个删除操作给 stash 了,也就是撤销了删除,那么,项目的文件自然也就回来了。

本地 repo 建好后,就可以执行 pull 更新文件了。

注:.git/config 中的 worktree 参数可以指定项目文件目录位置,但一般我们都使用默认的,这并不需要改动。




Comments