背景:
外包项目还没有全部开发完毕,放在外包的远程仓库A中,之前部门小伙伴的处理是,每次从远程仓库A中clone到本地运行
需求:
不在外包的仓库A中建分支的前提下,和外包同步修改项目。
Git仓库完整迁移
1. 从外包项目源地址克隆裸版本库
git clone --bare 仓库A/a.git
2. 选择一个git服务器B创建新项目
3. 以镜像推送的方式上传代码到 2.的服务器
cd a.git
git push –mirror 仓库B/b.git
4. 删除本地代码
cd ..
rm -rf a.git
5. 从新服务器B本地。
完成仓库迁移,得到保留原版本库中所有内容的项目。
git同一项目使用多个远程仓库
在项目的根目录找到隐藏的.git文件,打开.git/config
[remote "origin"]
url = https://git地址B/b.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
1. 添加外包远程仓库地址A
[remote "origin"]
url = https://git地址B/b.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "waibao"]
url = https://git地址A/a.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
remote = waibao
merge = refs/heads/master
或
git remote add waibao http://仓库A/a.git
查看当前关联的远程仓库
git remote --verbose
2. pull/push关联仓库名操作
git pull origin master
git push waibao