美文网首页
GitLab/GitHub的使用方法

GitLab/GitHub的使用方法

作者: ChasenGao | 来源:发表于2019-04-04 14:02 被阅读0次

    本例中使用的GitLab需自行搭建,如无法搭建,可选用Github或码云。

    1、准备工作 for windows

    • 下载 TortoiseGit (小乌龟公司出的GIT管理工具,就像SVN一样)
      如果不习惯英文,可以下载中文语言包。本文中将优先使用英文。
      TortoiseGit 的安装一直点击下一步即可,不用修改任何配置。
    • 生成公私钥
      上一步安装完成后找到 开始 => 程序 => TortoiseGit => PuTTYgen.exe
      打开后出现此界面


      image.png

    点击Generate生成key (过程比较缓慢,可以在界面上无限摇晃鼠标加快生成速度,原因未知)
    复制2区域的所有内容,粘贴到 GitLab => 右上角头像 => Setting =>SSH keys 后见下图


    image.png

    粘贴后点击Add key完成第一步操作。

    回到PuTTYgen,点击Save private key 保存文件到C盘根目录(不限制保存未知和文件名,别丢了就行)

    • 加载私钥
      找到 开始 => 程序 => TortoiseGit => Pageant.exe,见界面如下:如果点了没反应,请去屏幕右下角找



      image.png

    点击add key添加刚刚保存的私钥文件添加完最小化 不要关闭。

    多人协作Branch(纯分支)(不建议使用)

    如果想使用SVN的方式,可以选择纯分支的方式进行多人协作。
    假设现在有张三、李四两个开发者。
    在Master分支的基础上新建分支 ZhangSan 、 LiSi
    张三在本地文件夹下载自己的分支,命令如下:

    git clone -b [分支名称] [分支url]
    

    下载完后,张三可以本地进行开发。

    代码提交顺序

    本地commit => 本地push到自己的分支,完成一次提交。

    代码合并顺序

    Gitlab上创建Merge Request 开发者分支 =》 Master 完成合并。

    注意分支保护

    拥有Master权限的开发者需把Master分支进行保护,让非Master权限的开发者不能随意同意Merge请求,保证只有Master权限的开发者可以安全做到代码审核,并合并代码。
    一般普通开发者权限可以为Developer
    如果不设置分支保护,开发者权限需为Reporter

    从Master分支拉取最新代码

    本地右键点击项目文件夹,选择Git Sync [Git 同步],如下图


    image.png

    将本地分支选为自己的开发分支,如ZhangSan,远端分支是你要合并代码的目标,一般为Master
    点击拉取,拉取成功后,把远端分支也修改为ZhangSan,点击推送。
    完成后,如果Gtilab => 项目 =>分支中显示代码版本一致,则代码同步完成。如图:


    image.png

    需要注意

    开发者在拉取Master最新代码之前,需要将本地代码commit 并 push到开发者分支上,并且合并到Master,再做拉取。否则会出现版本不一致。

    多人协作Fork (派生/复刻)(推荐使用)

    • 项目针对Master建立开发者分支dev
    • 开发者对项目进行Fork 假设开发者为张三。
    • 张三Fork后,Fork后的项目,项目会提示如下:


      image.png

    Fork from xxx 其中 xxx代表主库,而当前所在的是开发者库。

    • 开发者dev只与主库dev同步,开发者Master只与主库Master同步
    • 此时需要Master权限保护主库Master分支与主库Dev分支。
    开发者如何进行开发

    开发者接到开发需求,如 “v1.3.8.254版本”,先使用小乌龟把主库Master和开发者库的Master同步,保证代码一致。
    操作如下:
    1、本地使用git clone命令下载开发者库Master
    2、右键点击项目文件夹使用上面介绍的小乌龟的“GIT Sync”界面如下:


    image.png

    1处是本地Master分支,如果不是,需要修改成master 因为现在要把主库的Master代码合并到开发者库Master。
    2处也填写master,这里的master代表主库的master
    3处填写主库的git地址,在主库的项目主页可以看到。
    填写完成后,点击拉取。

    3、拉取后,把3出修改为origin 也就是开发者库的地址,再点击推送。
    此时 开发者Master就和主库Master合并了。

    4、新建分支v1.3.8.254 (随便起名,代表你现在要开发的东西,如果同时接到多个开发任务,可以在开发者库新建多个开发分支)

    5、本地右键点击项目文件夹,选择pull,这样是让本地知道你刚才新建了开发分支。

    6、右键点击项目文件夹 => tortoiseGit => check out 界面如下:


    红色区域选择你要开发的那个分支,切换完后 打开项目开发即可。

    7、开发完成后,提交时,要记得在哪个分支下开发的,就提到哪个分支,否则代码就乱套了。

    8、功能开发完成后,将开发分支创建合并请求到主库的dev 。

    9、Master权限用户同意合并代码后, 本地开发删除掉完成开发的分支。
    10、Master权限用户把代码合并到主库master后,本地使用同步功能拉取主库master到本地master
    11、拉取完成后,push到开发者库master
    12、此时功能开发完毕。

    注意:不同的开发需求在不同的分支下,需要开发哪个就check out到哪个分支即可。

    常见错误(随时补充):

    001

    当前已经存在一个同名的合并请求,需要master权限同意合并请求后或者修改一个合并名称后才可以继续。

    002
    重启电脑在push等操作时提示需要密码
    解决方法:重新在putty里添加私有秘钥即可,putty最小化不要关。

    003
    如何添加.gitignore文件
    windows下使用gitbash 输入 touch .gitignore 即可创建。 gitbash可百度搜索下载。

    相关文章

      网友评论

          本文标题:GitLab/GitHub的使用方法

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