• Git合并不同url的项目


    本文由云+社区发表

    作者:工程师小熊

    摘要:为了让项目能实现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常用命令

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

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

  • 相关阅读:
    makefile 3
    makefile 3
    wzplayer for delphi demo截图
    makefile 2
    makefile
    wzplayer for delphi demo截图
    clang complete
    makefile
    clang complete
    linux最常用命令集合
  • 原文地址:https://www.cnblogs.com/qcloud1001/p/10310573.html
Copyright © 2020-2023  润新知