Git合并不同url的项目

作者: a3aac2d1b674 | 来源:发表于2019-01-23 18:08 被阅读7次

本文由云+社区发表

作者:工程师小熊

摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做了同步,在Gerrit上有新提交的时候就会刷新老git,这样就会把他提交的代码冲掉。这个时候我就必须要在两个相似项目之间合并提交了。

步骤

img

将老Git url加到我们新Git的本地

  • 使用命令git remote add [shortname] [url]将老Git url加到我们新Git的本地
  • 这里我把他取名为gitoa_web(随便取)
img

查看

  • 使用命令git remot -v查看远程仓库的情况
  • 可以看到此处我们有三个远程仓库分别名为gerritgitoa_weborigin
img

同步代码

  • 使用命令git fetch gitoa_web刷新远程仓库到本地
  • 字符串 gitoa_web 指代对应的仓库地址了.比如说,要抓取所有 gitoa_web 有的,但本地仓库没有的信息,可以用
img

合并项目

  • 使用命令git merge gitoa_web/master合并项目

  • gitoa_web
    

    是指代仓库,

    master
    

    指代分支,当然如果有需要也可以合并别的分支过来

    img

    报错

  • 发现不同email地址错误不能成功提交

  • 因为这个commit不是我的

img

修正错误

  • 把email地址更新成我的
  • 再提交就成功了

小结

知识点:

  1. git merge还可以合并其他项目的到本项目
  2. git fetch 仓库名可以指定同步哪个仓库
  3. 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过来,有兴趣的朋友可以自己尝试。

Git常用命令

此文已由腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号

相关文章

  • Git合并不同url的项目

    本文由云+社区发表 作者:工程师小熊 摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项...

  • git无法pull仓库refusing to merge unr

    因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git ...

  • fatal: refusing to merge unrelat

    错误原因:因为他们是两个不同的项目,要把两个不同的项目合并 ,git需要添加一句代码,在git pull,这句代码...

  • Git merge 和 Git rebase 区别

    git merge 和 git rebase 均具有合并分支的效果,但合并分支的机理不同 Git merge gi...

  • git 命令的简单使用

    1、 git 拉项目 2、 git 回滚项目 3、 git 提交到分支 4、 git 切换分支 5、合并分支 将分...

  • git 使用命令(2)

    下载git仓库的项目 路径URL:https://git.oschina.net/xxx/xx.git #git ...

  • git常用命令

    git clone 项目地址 拉取远程项目到本地 git pull 更新代码(会自动合并代码) git fetch...

  • Git

    Git 工具 - 子模块 git合并两个不同的仓库 A successful Git branching mode...

  • iOS开发中的一些操作集锦

    1.git中取得项目的git仓库 终端命令:$ git clone [url] 例如:$ git clonegit...

  • git

    git init (创建Git代码库)git clone url (复制一个项目)git add filena...

网友评论

    本文标题:Git合并不同url的项目

    本文链接:https://www.haomeiwen.com/subject/ynssjqtx.html