zoukankan      html  css  js  c++  java
  • 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常用命令

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

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

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/qcloud1001/p/10310573.html
Copyright © 2011-2022 走看看