美文网首页
GIT :在github:release分支版本 修复bug全过

GIT :在github:release分支版本 修复bug全过

作者: 沉默羔羊121 | 来源:发表于2018-12-25 20:09 被阅读0次

    ===============================================
    Github从release-pp fixed bug过程
    =============================================
    建立空文件夹Exchange-API-Services-release_pp并进入

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi
    $ mkdir Exchange-API-Services-release_pp
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi
    $ cd Exchange-API-Services-release_pp
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp
    $ dir
    

    从远程clone仓库到本地

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp
    $ git clone https://github.com/iht-dev/Exchange-API-Services.git
    Cloning into 'Exchange-API-Services'...
    remote: Enumerating objects: 592, done.
    remote: Counting objects: 100% (592/592), done.
    remote: Compressing objects: 100% (423/423), done.
    remote: Total 11757 (delta 289), reused 368 (delta 80), pack-reused 11165
    Receiving objects: 100% (11757/11757), 1.92 MiB | 1.65 MiB/s, done.
    Resolving deltas: 100% (6481/6481), done.
    

    dir查看目录中多了一个Exchange-API-Services文件夹,说明已经成功的从github克隆了到了本地。

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp
    $ dir
    Exchange-API-Services
    

    执行cd进入到Exchange-API-Services目录中

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp
    $ cd Exchange-API-Services/
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (master)
    $
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp2/Exchange-API-Services (master)
    $ dir
    mvnw  mvnw.cmd  pom.xml  README.md  sql  src   【这是maser分支的文件】
    

    用资源管理器查看Exchange-API-Services 文件夹属性
    大小 3.08 MB (3,237,155 字节)
    占用:3.56 MB (3,735,552 字节)
    包含:301 个文件,84 个文件夹
    ‎2018‎年‎12‎月‎26‎日,‏‎14:01:10

    从上面可见,已经在(master)分支中。
    特别提醒:我们从github上clone下来的代码默认是master分支代码。如果需要release_pp代码,我们需要把远程github上release_pp分支的代码checkout到本地。

    直接用下面命令git checkout release_pp,就能达到上面的目的,并在本地自动建立。

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (master)
    $ git checkout release_pp
    Switched to a new branch 'release_pp'   【切换到一个[新]分支release_pp】
    Branch 'release_pp' set up to track remote branch 'release_pp' from 'origin'. 
    【分支'release_pp'设置为从'origin'跟踪远程分支'release_pp'】
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp2/Exchange-API-Services (master)
    $ ll
    total 25
    -rwxr-xr-x 1 yangj_000 197615 6693 12月 26 14:01 mvnw*
    -rw-r--r-- 1 yangj_000 197615 5137 12月 26 14:01 mvnw.cmd
    -rw-r--r-- 1 yangj_000 197615 4993 12月 26 14:01 pom.xml
    -rw-r--r-- 1 yangj_000 197615   48 12月 26 14:01 README.md
    drwxr-xr-x 1 yangj_000 197615    0 12月 26 14:01 sql/
    drwxr-xr-x 1 yangj_000 197615    0 12月 26 14:01 src/
    

    用资源管理器查看Exchange-API-Services 文件夹属性
    大小: 3.72 MB (3,903,552 字节)
    占用:4.38 MB (4,595,712 字节)
    包含: 432 个文件,103 个文件夹
    ‎2018‎年‎12‎月‎26‎日,‏‎14:01:10

    下面,在release_pp分支上建立自己的hotfix-xxx分支。
    执行命令:git checkout -b hotfix-ETH-confirm_release_pp
    远程和本地都没有hotfix-ETH-confirm_release_pp分支,所以用-b参数创建。如果直接执行:git checkout hotfix-ETH-confirm_release_pp会出错的,如下:

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp2/Exchange-API-Services (release_pp)
    $ git checkout hotfix-ETH-confirm_release_pp
    error: pathspec 'hotfix-ETH-confirm_release_pp' did not match any file(s) known to git
    

    所以,必须用-b参数:git checkout -b hotfix-ETH-confirm_release_pp

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (release_pp)
    $ git checkout -b hotfix-ETH-confirm_release_pp
    Switched to a new branch 'hotfix-ETH-confirm_release_pp'   [这里新分支,是指在本地]
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp2/Exchange-API-Services (hotfix-ETH-confirm_release_pp)
    $
    

    在本地新分支中hotfix-ETH-confirm_release_pp修改代码。

    ok,至此在本地hotfix-ETH-confirm_release_pp分支中就可以开fixbug了。打开Eclipse开始码砖~修改WalletScheduleService.java文件。
    修复bug后:
    查看用命令git status状态,发现有个文件WalletScheduleService.java修改了:

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (hotfix-ETH-confirm_release_pp)
    $ git status
    On branch hotfix-ETH-confirm_release_pp
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            modified:   src/main/java/com/exchange/service/WalletScheduleService.java
    
    no changes added to commit (use "git add" and/or "git commit -a")
    

    需要先commit

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (hotfix-ETH-confirm_release_pp1226a)
    $ git commit -am 'fixed'
    [hotfix-ETH-confirm_release_pp1226a 939579a] fixed
     1 file changed, 7 insertions(+), 7 deletions(-)
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (hotfix-ETH-confirm_release_pp1226a)
    

    push到github新建一个分支,在github发起pull-request合并到release_pp。在本地release_pp分支就可以git pull了。

    我们需要的是执行下面命令,将本次的fixed推到服务器新建分支hotfix-ETH-release_pp1226a (此分支在push时会在github自动创建)
    命令:git push origin 本地分支名:远程分支名
    $ git push origin hotfix-ETH-confirm_release_pp:hotfix-ETH-release_pp1226a

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (hotfix-ETH-confirm_release_pp)
    $ git push origin hotfix-ETH-confirm_release_pp:hotfix-ETH-release_pp1226a
    Enumerating objects: 17, done.
    Counting objects: 100% (17/17), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (7/7), done.
    Writing objects: 100% (9/9), 933 bytes | 311.00 KiB/s, done.
    Total 9 (delta 4), reused 0 (delta 0)
    remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
    remote:
    remote: Create a pull request for 'hotfix-ETH-release_pp1226a' on GitHub by visiting:
    remote:      https://github.com/iht-dev/Exchange-API-Services/pull/new/hotfix-ETH-release_pp1226a
    remote:
    To https://github.com/iht-dev/Exchange-API-Services.git
     * [new branch]      hotfix-ETH-confirm_release_pp -> hotfix-ETH-release_pp1226a
    

    大工告成!
    剩下的工作:登陆github.com。在github发起pull-request合并到release_pp。
    pull-request时,注意方向:release_pp<---hotfix-ETH-release_pp1226a (pull request)
    意思是:从hotfix-ETH-release_pp1226a向release_pp发起一个pull请求,请求release_pp从hotfix-ETH-release_pp1226a分支pull一次代码并merge.
    需要release_pp的有权限的人view一下然后merge.

    上面完成后,就可以在github上delete分支hotfix-ETH-release_pp1226a

    在本地release_pp分支就可以git pull了。

    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (release_pp)
    $ git pull
    remote: Enumerating objects: 1, done.
    remote: Counting objects: 100% (1/1), done.
    remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (1/1), done.
    From https://github.com/iht-dev/Exchange-API-Services
       30e8332..b3e740c  release_pp -> origin/release_pp
    Updating 30e8332..b3e740c
    Fast-forward
     .../java/com/exchange/service/WalletScheduleService.java   | 14 +++++++++++++-
     1 file changed, 13 insertions(+), 1 deletion(-)
    
    yangj_000@BOWEN MINGW64 /d/_ALD/CoreApi/Exchange-API-Services-release_pp/Exchange-API-Services (release_pp)
    $
    
    

    【重点命令】
    $ git push origin hotfix-ETH-confirm_release_pp:hotfix-ETH-release_pp1226a
    将本地 hotfix-ETH-confirm_release_pp分支推送到Github上并建立hotfix-ETH-release_pp1226a分支。以便pull request.

    ============================================
    备用其他命令:

    git branch --set-upstream 本地关联远程分支-

    git branch --set-upstream-to=origin/remote_branch your_branch

    其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

    相关文章

      网友评论

          本文标题:GIT :在github:release分支版本 修复bug全过

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