当前位置:   article > 正文

代码合入gitlab流程,亲测有效

代码合入

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分支。

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

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

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

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

  1. $ git remote add upstream git@monkey.united-imaging.com:TEST/TEST.git
  2. $ git remote set-url --push upstream no_push
  3. $ git remote -v
  4. origin git@monkey.united-imaging.com:AliceDai/TEST.git (fetch)
  5. origin git@monkey.united-imaging.com:AliceDai/TEST.git (push)
  6. upstream git@monkey.united-imaging.com:TEST/TEST.git (fetch)
  7. upstream git@monkey.united-imaging.com:TEST/TEST.git (push)

建立分支

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

$ git checkout -b my_branch

修改代码

balabala

提交

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

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

提交PR Merge Request

PR大量修改导致需要Merge

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

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

  1. $ git fetch upstream
  2. $ git checkout master
  3. $ git merge upstream/master
  4. $ git checkout -b my_branch
  5. $ git rebase master
  6. $ git push origin my_branch:my_branch



作者:不会撒娇的猫咪
链接:https://www.jianshu.com/p/6ac7e92bae90
来源:简书

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/399572
推荐阅读
相关标签
  

闽ICP备14008679号