Git合并不同url的项目

qcloudcommunity · · 1967 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

> 本文由云+社区发表 > 作者:工程师小熊 摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做了同步,在Gerrit上有新提交的时候就会刷新老git,这样就会把他提交的代码冲掉。这个时候我就必须要在两个相似项目之间合并提交了。 # 步骤 ![img](https://ask.qcloudimg.com/http-save/3097464/q3kgc08gho.png?imageView2/2/w/1620)将老Git url加到我们新Git的本地 - 使用命令`git remote add [shortname] [url]`将老Git url加到我们新Git的本地 - 这里我把他取名为gitoa_web(随便取) ![img](https://ask.qcloudimg.com/http-save/3097464/n3s2iemons.png?imageView2/2/w/1620)查看 - 使用命令`git remot -v`查看远程仓库的情况 - 可以看到此处我们有三个远程仓库分别名为`gerrit`、 `gitoa_web`、`origin` ![img](https://ask.qcloudimg.com/http-save/3097464/igqp6cgec6.png?imageView2/2/w/1620)同步代码 - 使用命令`git fetch gitoa_web`刷新远程仓库到本地 - 字符串 `gitoa_web` 指代对应的仓库地址了.比如说,要抓取所有 `gitoa_web` 有的,但本地仓库没有的信息,可以用 ![img](https://ask.qcloudimg.com/http-save/3097464/s6togtxnim.png?imageView2/2/w/1620)合并项目 - 使用命令`git merge gitoa_web/master`合并项目 - ``` gitoa_web ``` 是指代仓库, ``` master ``` 指代分支,当然如果有需要也可以合并别的分支过来 ![img](https://ask.qcloudimg.com/http-save/3097464/en9j6iqfl.png?imageView2/2/w/1620)报错 - 发现不同email地址错误不能成功提交 - 因为这个`commit`不是我的 ![img](https://ask.qcloudimg.com/http-save/3097464/efy8b6q2gw.png?imageView2/2/w/1620)修正错误 - 把email地址更新成我的 - 再提交就成功了 # 小结 知识点: 1. `git merge`还可以合并其他项目的到本项目 2. `git fetch 仓库名`可以指定同步哪个仓库 3. `git remot -v`查看本地有哪些远程仓库的情况,包含各个仓库url 本次我们对以下命令加深了理解 ```js 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`过来,有兴趣的朋友可以自己尝试。 # 附 [Git常用命令](https://qupzhi.com/git-start2/#more) **此文已由腾讯云+社区在各渠道发布** **获取更多新鲜技术干货,可以关注我们[腾讯云技术社区-云加社区官方号及知乎机构号](https://www.zhihu.com/org/teng-xun-yun-ji-zhu-she-qu/activities)**

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1967 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传