GitLab/GitHub的使用方法

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

1、准备工作 for windows

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


    GitLab/GitHub的使用方法_第1张图片
    image.png

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


GitLab/GitHub的使用方法_第2张图片
image.png

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

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

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



    GitLab/GitHub的使用方法_第3张图片
    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 同步],如下图


GitLab/GitHub的使用方法_第4张图片
image.png

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


GitLab/GitHub的使用方法_第5张图片
image.png

需要注意

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

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

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


    GitLab/GitHub的使用方法_第6张图片
    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”界面如下:


GitLab/GitHub的使用方法_第7张图片
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 界面如下:


GitLab/GitHub的使用方法_第8张图片

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

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

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

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

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

常见错误(随时补充):

001
GitLab/GitHub的使用方法_第9张图片

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

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

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

你可能感兴趣的:(GitLab/GitHub的使用方法)