腾讯云技术分享专栏 Git 合并不同 url 的项目
匿名
·
2019年01月23日
·
481 次阅读
「原创声明:保留所有权利,禁止转载」
本文由云 + 社区发表
作者:工程师小熊
摘要:为了让项目能实现 Git+Gerrit+Jenkin 的持续集成,我们把项目从 Git 上迁移到了 Gerrit 上,发现有的同事在老 Git 提交代码,因为 Gerrit 做了同步,在 Gerrit 上有新提交的时候就会刷新老 git,这样就会把他提交的代码冲掉。这个时候我就必须要在两个相似项目之间合并提交了。
步骤
将老 Git url 加到我们新 Git 的本地
- 使用命令
git remote add [shortname] [url]
将老 Git url 加到我们新 Git 的本地 - 这里我把他取名为 gitoa_web(随便取)
查看
- 使用命令
git remot -v
查看远程仓库的情况 - 可以看到此处我们有三个远程仓库分别名为
gerrit
、gitoa_web
、origin
同步代码
- 使用命令
git fetch gitoa_web
刷新远程仓库到本地 - 字符串
gitoa_web
指代对应的仓库地址了.比如说,要抓取所有gitoa_web
有的,但本地仓库没有的信息,可以用
合并项目
使用命令
git merge gitoa_web/master
合并项目-
gitoa_web
是指代仓库,
master
指代分支,当然如果有需要也可以合并别的分支过来
报错
发现不同 email 地址错误不能成功提交
因为这个
commit
不是我的
修正错误
- 把 email 地址更新成我的
- 再提交就成功了
小结
知识点:
-
git merge
还可以合并其他项目的到本项目 -
git fetch 仓库名
可以指定同步哪个仓库 -
git remot -v
查看本地有哪些远程仓库的情况,包含各个仓库 url
本次我们对以下命令加深了理解
git remote #不带参数,列出已经存在的远程分支
git remote -v #(-v是–verbose 的简写,取首字母)列出详细信息,在每一个名字后面列出其远程url
git remote add [shortname] [url] #添加远程仓库
git fetch origin #字符串 origin 指代对应的仓库地址了.比如说,要抓取所有 origin 有的,但本地仓库没有的信息,可以用
ps: 这里git remote add
以后,我认为还能用cherry-pick
来加不同仓库的commit
过来,有兴趣的朋友可以自己尝试。
附
此文已由腾讯云 + 社区在各渠道发布
获取更多新鲜技术干货,可以关注我们腾讯云技术社区 - 云加社区官方号及知乎机构号
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
暂无回复。