• Github进行fork后如何与原仓库同步


    问题场景:

    新公司要求所有的代码提交都要先通过自己的库提交到主repo上去,所以先在gitlab网页上fork出一个自己的库,在本地修改完代码后提交到远程自己库上,然后在gitlab网页上发起一个merge request请求,然后等待主repo主人review,同意之后合入。

    整体思路如下:

    在自己的本地添加主repo为上游代码库,注意只是配置原仓库的路径,并没有真正clone原仓库,

    然后将远程主repo同步到自己本地的机器,

    然后本地的机器再push到自己的远程的fork库

    所有的操作都要在本地命令行完成

    
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote -v //查看关联分支
    origin  git@github.com:haimait/gin-vue-admin.git (fetch)
    origin  git@github.com:haimait/gin-vue-admin.git (push)
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote add upstream https://github.com/piexlmax/gin-vue-admin.git //关联源分支,并启别名为upstream
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote -v
    origin  git@github.com:haimait/gin-vue-admin.git (fetch)
    origin  git@github.com:haimait/gin-vue-admin.git (push)
    upstream        https://github.com/piexlmax/gin-vue-admin.git (fetch)
    upstream        https://github.com/piexlmax/gin-vue-admin.git (push)
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git fetch upstream //摘取关联的源分支最新代码
    来自 https://github.com/piexlmax/gin-vue-admin
     * [新分支]          feature/gin-vue-admin_v1.0.0 -> upstream/feature/gin-vue-admin_v1.0.0
     * [新分支]          feature/gin-vue-admin_v2.0.0 -> upstream/feature/gin-vue-admin_v2.0.0
     * [新分支]          master                       -> upstream/master
     * [新分支]          release/gin-vue-admin_v1.0.0 -> upstream/release/gin-vue-admin_v1.0.0
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git branch -a //查看本地和关联远程的所有的支支
      haima_edit_admin_config
    * master
      remotes/origin/HEAD -> origin/master
      remotes/origin/gin-vue-admin-develop
      remotes/origin/haima_edit_admin_config
      remotes/origin/master
      remotes/origin/micro-gin-vue-admin
      remotes/upstream/feature/gin-vue-admin_v1.0.0
      remotes/upstream/feature/gin-vue-admin_v2.0.0
      remotes/upstream/master
      remotes/upstream/release/gin-vue-admin_v1.0.0
    
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git status
    位于分支 master
    您的分支与上游分支 'origin/master' 一致。
    尚未暂存以备提交的变更:
      (使用 "git add <文件>..." 更新要提交的内容)
      (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
    
            修改:     .gitignore
            修改:     static/config/config.json
    
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git add .
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git commit -m"edit config.json"
    
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git merge upstream/master //要主干上合并源代码的主干
    已经是最新的。
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git add .
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git commit -m"merge upstream master"
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git status
    位于分支 master
    您的分支与上游分支 'origin/master' 一致。
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git pull //拉取自己线上仓库里的代码
    已经是最新的。
    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git push //推送代码到自己的仓库里
    Total 0 (delta 0), reused 0 (delta 0)
    To github.com:haimait/gin-vue-admin.git
       b75d839..c0c1a2c  master -> master
    

    如果想断开远程分支

    haima@haima-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote rm upstream
    

    推送代码到自己的仓库里后,就可以到线上New pull request请求合并代码到源仓库里了,这时就等待源仓库里的管理员合并代码了.

    其实合并源仓库的master分支 可以合并成一条命令

    git pull upstream master

    第一个参数pustream 表示远程主repo

    第二个参数master 表示自己fork库的master分支

    这个是公司文档上写的,并不是从网上找来的

    为了说清楚这个问题,亲自做了一张图

    https://blog.csdn.net/matrix_google/article/details/80676034?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

  • 相关阅读:
    uva 1510
    ADN中国团队參加微软的Kinect全国大赛获得三等奖
    在 window7 window8下公布webService注意问题
    html5调用手机摄像头,实现拍照上传功能
    4、深入理解Bean
    恶补jquery(四)jquery中事件--冒泡
    html5css3杂记
    Core Data 和 sqlite3的性能对比【图】3gs,iPhone4,4s,5的性能测试。
    boost 的函数式编程库 Phoenix入门学习
    information_schema模式表介绍 processlist
  • 原文地址:https://www.cnblogs.com/haima/p/12627288.html
Copyright © 2020-2023  润新知