背景: 需要将github的开源项目,导入到公司git仓库下进行开发。需要将项目copy迁移到公司仓库下。并需同步更新github的最新代码需求。
- 从原地址克隆一份裸版本库,比如原本托管于 GitHub。clone成功后,本地会增加一个文件夹:假设该项目文件夹叫 test
git clone --bare github中Git项目地址
-
然后到git.hualala.com上创建一个新项目(此时注意,创建时,不要默认加readme这些东西,要空项目)
-
进入到test 文件夹下,以镜像推送的方式上传代码到git.hualala.com
cd test/
git push --mirror git.hualala.com中新建的项目地址
- clone git.hualala.com中的新项目(如果新旧项目在同一路径下,需先删除原始的test文件夹,不然文件夹会重名),创建新的分支。以后就基于git.hualala.com中项目的项目进行开发。
git clone git.hualala.com中项目的项目
cd test/
git fetch origin 远程分支名:本地分支名字
git checkout 本地分支名字
- 此时,项目已经迁移到git.hualala.com上了。
过了一段时间之后,发现原项目的源码修改了很多,希望自己的仓库也保持同步更新,则执行:
5.1 为本地仓库添加一个新的远程仓库,指定名字为upstream,指向原项目仓库
git remote add upstream github中Git项目地址
git remote -v #查看远程仓库是否添加成功
5.1 从原仓库更新代码到的本地分支。该过程可能需要处理冲突
git pull upstream github中原始仓库分支名
git push origin git.hualala.com中的分支名