美文网首页
Gitlab代码提交流程

Gitlab代码提交流程

作者: 不会撒娇的猫咪 | 来源:发表于2018-11-08 16:54 被阅读453次

    description: 介绍了TEST代码提交的流程

    TEST 代码提交流程

    TEST 平时的开发借助于 Gitlab 进行代码的管理, 并定期同步代码到TFS上进行备份管理. TEST的代码提交流程遵循Github开源代码PR流程. 这里以Github为例,Gitlab使用机制类似.

    TODO 这里的图后续需要替换为gitlab的操作界面.

    简单过程

    首先git分为本地仓库(自己电脑中)和远程仓库(git官网自己的账号中),仓库可以理解为保存代码的地方,简单的说是在自己本地仓库修改代码,提交到自己远程仓库,提交pr后被接受后再会被合并到master。

    详细过程

    Fork

    将项目fork到自己的仓库中,可以在github的首页搜索到自己的想要的开源项目,我以flink为例:

    进去后,点出fork,稍等片刻,此项目便会出现在自己的仓库中

    进到自己fork的项目中,就能看到Clone or download按钮,如下,记下这个https链接。

    通过上面的步骤,已经将远程仓库建好

    Clone

    需要将远程仓库clone到本地,此处省略安装本地github的过程,随便在哪个目录(项目存放的目录),右键打开一个Git base,执行一下git clone https://github.com//.git(使用上一步的https链接),等待命令完成,时间视下载速度而定,也许会比较慢,网上也有些可以提高git clone速度的方法,不防一试

    $ git clone git@monkey.united-imaging.com:AliceDai/TEST.git
    

    上面的命令完成后,当前目录下会多一个目录,我clone的是TEST,所以会多一个TEST目录,进到TEST目录中,试试跑一下git status试试,会提示现在是master分支。

    $ git status
    On branch master
    Your branch is ahead of 'origin/master' by 2 commits.
      (use "git push" to publish your local commits)
    

    用git remote -v命令,可以看到此时只与自己的远程仓库建立了连接

    $ git remote -v 
    origin  git@monkey.united-imaging.com:AliceDai/TEST.git (fetch)
    origin  git@monkey.united-imaging.com:AliceDai/TEST.git (push)
    

    还需要与上游建立连接,这里上游指的是一开始fork的那个项目源,以TEST为例,执行如下命令:

    $ git remote add upstream git@monkey.united-imaging.com:TEST/TEST.git
    $ git remote set-url --push upstream no_push
    $ git remote -v
    origin  git@monkey.united-imaging.com:AliceDai/TEST.git (fetch)
    origin  git@monkey.united-imaging.com:AliceDai/TEST.git (push)
    upstream        git@monkey.united-imaging.com:TEST/TEST.git (fetch)
    upstream        git@monkey.united-imaging.com:TEST/TEST.git (push)
    

    建立分支

    然后就可以在本地建立自己的branch进行代码开发了,建议在自己分支上修改,而不是直接在master分支修改

    $ git checkout -b my_branch
    

    修改代码

    balabala

    提交

    可以先使用git status来查看有哪些文件被修改了

    $ git status
    $ git add *.cs  // 将要提交的文件都加上
    $ git commit -a -m "modify ***"  //需要注意的是git commit只是把修改的代码提交到当前分支
    $ git push -u origin my_brance // 将本地的代码提交到远处仓库
    

    提交PR Merge Request

    PR大量修改导致需要Merge

    在你提交pr的时候,项目可能已经有了比较大的变更(每天都有世界各地的coder提pr),而你没有将分支保持与项目同步,所以有可能会导致check失败,pr被无视.

    所以每次提交pr前,都要先从做代码同步。过程如下:

    $ git fetch upstream
    $ git checkout master
    $ git merge upstream/master
    $ git checkout -b my_branch
    $ git rebase master
    $ git push origin my_branch:my_branch
    

    相关文章

      网友评论

          本文标题:Gitlab代码提交流程

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