迁移整个代码库到GitHub
- 生成并获取sshkey
ssh-keygen -t rsa -C "邮箱地址"
cat ~/.ssh/id_rsa.pub
复制到 Settings-> SSH and GPG keys -> New SSH key
-
创建一个新的repository
-
迁移代码库
git clone --bare <原repository>.git
cd <原repository>.git
git push --mirror git@github.com:<owner>/<新repository>.git
- 修改本地remote
vim .git/config
**替换remote url**
[remote "origin"]
url = git@github.com:<owner>/<新repository>.git
fetch = +refs/heads/*:refs/remotes/origin/*
**验证**
git pull
Git使用git clone命令实现版本库克隆的三种方式
git clone <repository> <directory>
git clone --bare <repository> <directory.git>
git clone --mirror <repository> <directory.git>
那么这三种方式有何不同呢?
git clone <repository> <directory>创建一个克隆到<directory>目录,目录<directory>相当于clone版本库的工作区,文件都会检出,版本库位于工作区下的.git目录中。git clone --bare <repository> <directory.git>和git clone --mirror <repository> <directory.git>是直接使用版本库的内容,这样的版本库称为裸版本库,裸版本库目录名写做<directory.git>git clone --mirror <repository> <directory.git>可使用git fetch命令和上游版本库进行持续同步。