GitLab/GitHub的使用方法

本例中使用的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可百度搜索下载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,406评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,395评论 3 398
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,815评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,537评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,536评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,184评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,776评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,668评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,212评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,299评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,438评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,128评论 5 349
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,807评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,279评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,395评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,827评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,446评论 2 359

推荐阅读更多精彩内容