《Gitlab使用流程课件(-43张).ppt》由会员分享,可在线阅读,更多相关《Gitlab使用流程课件(-43张).ppt(43页珍藏版)》请在三一办公上搜索。
1、Gitlab使用流程,(内部公开文件),Gitlab使用流程(内部公开文件),账号申请客户端安装SSH key使用(Mac)SSH key 使用(Windows)新建项目规则项目检出check创建分支branch代码提交Commit代码拉取Pull代码推送Push代码标签tag代码冲突解决创建忽略文件Git Flow实战,账号申请,一、账号申请,1.开发人员提供以下资料给管理员: 姓名(用于展示用户姓名)邮箱(用于接收密码接收推送通知等)2.收到重置密码邮件以后进行密码重置 密码需要设置8位以及以上,建议使用自己的姓名+数字组成比如3.登录 在浏览器输入:http:/szltech.f3322
2、.org:15280/ 进入到gitlab登录页,输入用户名(自己姓名的全拼),以及密码可以进入系统。登录成功后,用户的操作按钮在页面右上角,一、账号申请1.开发人员提供以下资料给管理员:,二、客户端安装,统一使用SourceTree软件进行代码开发的管理,下载地址:http:/,二、客户端安装统一使用SourceTree软件进行代码开发的,SSHkey使用(Mac),第三章,SSHkey使用(Mac)第三章,三、SSHkey使用(Mac),1)生成SSH key1.打开终端命令行2.输入以下内容: ssh-keygen -t rsa -C “邮箱地址“3.要求输入密码的时候,直接回车即可4.
3、然后查看生成的SSH Key cat /.ssh/id_rsa.pub5.把这个SSH key的内容添加到Gitlab个人设置中(请参见下一步),三、SSHkey使用(Mac)1)生成SSH key,三、SSHkey使用(Mac),1.打开Gitlab登录自己的账户, 进入用户设置,找到SSH keys2.点击右侧 Add SSH Key3.输入上一步生成的key4.点击Add key 即可添加成功一个key,2)Gitlab 配置SSH keys,三、SSHkey使用(Mac)1.打开Gitlab登录自己的,SSH key 使用(Windows),第四章,SSH key 使用(Windows
4、)第四章,SSH key 使用(Windows),1)生成SSH key,1.点击创建SSH秘钥2.点击Generate后,3.用鼠标在进度条下方来回滑动4.生成的key点击Save public key 和save private key,保存好公钥 私钥(重要),SSH key 使用(Windows)1)生成SSH key,SSH key使用( Windows ),1.打开Gitlab登录自己的账户, 进入用户设置,找到SSH keys2.点击右侧 Add SSH Key3.输入上一步生成的key4.点击Add key 即可添加成功一个key,2)Gitlab 配置SSH keys,SSH
5、 key使用( Windows )1.打开Gitlab,SSH key使用(Windows),1.启用source tree的工具,点击“选项”2.选择上次生成的SSH秘钥3.点击“确定”即可添加成功,3)客户端导入私钥,SSH key使用(Windows)1.启用source t,SSH key使用(Windows),1.启用source tree的工具,点击“启动SSH助手”2.如果没有弹出SSH助手,则看系统托盘是否有3.点击“Add Key”4.选择之前导出的私钥5.添加成功后,查看公钥跟Gitlab网页添加的 相同,则说明成功,4)SSH助手配置,SSH key使用(Windows)
6、1.启用source t,新建项目规则,第五章,新建项目规则第五章,1)创建项目组,1.当有新项目需要进行代码提交时,首先通过管理员创建一个项目的分组 2.点击“New Group”3.在输入框输入英文的组名 :如igwfmc,1)创建项目组1.当有新项目需要进行代码提交时,首先通过管理,2)项目组增加用户,1.点击“Groups”2.选择相应项目名称,如“igwfmc”3.选择需要添加的用户和用户角色角色一般选择“developer”,2)项目组增加用户1.点击“Groups”,3)创建新项目,1.点击“Projects”2.选择新增项目“New Project”3.分别新建:igwfmc_
7、iOS、igwfmc_android、igwfmc_server、Igwfmc_H5 (如果有)等几个项目项目的namespace都要属于igwfmc的项目组。,3)创建新项目1.点击“Projects”,项目检出,第六章,项目检出第六章,1)获取项目SSH地址或者HTTP地址用户可以通过首页“Projects”,查看所有参与的项目,点击相应的项目,进入项目的详情页项目详情页最上面,就是本项目的SSH和HTTP地址Tips:点击狐狸头,可以从任何界面回到本页,1,2,1)获取项目SSH地址或者HTTP地址12,2)打开git客户端,克隆项目,MAC版本,Windows版本,2)打开git客户端
8、,克隆项目MAC版本Windows版本,3)克隆项目,MAC版本,Windows版本,Tips:从高级选项可以选择检出的分支不过一定要检出Master分支方便后续的分支开发,3)克隆项目MAC版本Windows版本Tips:,创建分支,第七章,创建分支第七章,1)打开Source Tree客户端选择需要创建分支的版本,1)打开Source Tree客户端,2)点击分支按钮,输入分支名称,即可创建分支,2)点击分支按钮,输入分支名称,即可创建分支,2)新分支创建成功需要提交分支信息,Tips:创建新分支后需要先推送一次,是为了在远端创建分支,2)新分支创建成功需要提交分支信息Tips:,代码Co
9、mmit,第八章,代码Commit第八章,1)IDE中保存代码,打开SourceTree点击工作副本,把“未暂存文件”的Checkbox选中,文件会全部进入“已暂存文件”列表,1,2,Tips:1.点击文件可以看到该文件的修改内容2.仅勾选“未暂存文件”列表中的一个文件,可以单独把一个文件放到“已暂存文件”中,1)IDE中保存代码,打开SourceTree12Tips:,2)提交(Commit)该操作仅是把版本保存到本地版本列表中,其他用户暂时还看不见。确定所有需要提交的文件全部在“已暂存文件”之后点击“提交”按钮,输入修改的主要内容,即可提交。,1,2,2)提交(Commit)12,3)提交
10、成功提交成功后,可以通过点击相应的分支,查看当前版本类图,备注:1.超前一个版本:是距离我们从远端检出(check)下来以后,提交的代码超前于这个版本2.落后6个版本:是远端有6个提交内容没有更新,Tips:Commit代码,仅是对于本地代码而言的,所以commit以后,任何其他人是看不见的,3)提交成功备注:Tips:,代码Pull,第九章,代码Pull第九章,1)点击“拉取”按钮点击拉取,勾选需要获取到的分支,即可从服务器中获取最新代码。,2,Tips:1.要养成每次开发前,都先拉取最新代码的习惯2.不要选择立即提交合并的改动,因为可能会有代码冲突,这样的版本Commit没有意义,一定要没
11、有冲突了再手动提交一次,1,1)点击“拉取”按钮2Tips:1,代码Push,第十章,代码Push第十章,1)点击“推送”按钮点击推送,勾选需要推送到的分支,即可推送到服务器中。,2,Tips:1.当Commit代码以后,应用一般会出现几个版本需要推送的提示(如没有,可以尝试刷新)。2.如果此时有需要拉取的数据没有拉取,则提示失败,1,1)点击“推送”按钮2Tips:1,创建Tag,第十一章,创建Tag第十一章,1)点击“标签”按钮每发布一个稳定版本时,通常会加上一个标签,2,Tips:1.点击推送标签,即可对远端进行同步2.Tag通常用来记录里程碑版本,1,1)点击“标签”按钮2Tips:1
12、,代码冲突解决,第十二章,代码冲突解决第十二章,1)冲突解决Git也会出现冲突,冲突标记跟SVN相似,一般都是通过多人协作,手动解决。123 = 234 devolop:index.html 可以看到 = 隔开的上半部分,是 hotfix分支中的内容,下半部分是在 develop 分支中的内容。解决冲突的办法无非是二者选其一或者由你亲自整合到一起。比如你可以通过把这段内容替换为下面这样来解决: 123 Tips:推荐修改前先从服务器上更新文件到本地减少冲突。Pull时不要立即提交(Commit)合并,避免因为冲突而需要多产生一个版本,1)冲突解决,创建忽略文件,第十三章,创建忽略文件第十三章,
13、1)创建文件使用IDE开发,容易出现IDE的各种配置信息或者各种Build文件,这些文件是不需要放到代码库中保存的,所以每个git项目新建成功后,需要新增一个忽略文件。两个文件都要这个给git项目的跟目录下,目录结构如下:Tips:1.README文件也是需要创建的文件。这个相当于项目的简介首页,可以记录项目的版本发布历程,代码规范,代码命名规范,代码目录结构说明等。一个项目中可以有多个.md文件2.Gitignore文件前面的“.”不要忽略,该文件是手动创建的,1)创建文件,1)Eclipse Android忽略实例,# built application files *.apk *.ap_
14、 # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Eclipse project files .classpath .project # Proguard folder generated by Eclipse proguard/ # Intellij project files *.iws .idea/workspace.xml .idea/tasks.xml,1)Eclipse Android忽略实例# built a,1)Xcode开发忽略文件实例,.DS_Stor
15、e build/* *.xcuserdatad Pods *.xcuserstate Podfile.lock .name xcode.xml scope_settings.xml workspace.xml vcs.xml encodings.xml misc.xml modules.xml OrientFund.iml#ignore svn document.svn/*,1)Xcode开发忽略文件实例.DS_Store,Git Flow实战,第十四章,Git Flow实战第十四章,1)项目中必备分支,主干分支Master :随时可供在生产环境中部署的代码,建议伴有标签(TAG)Develo
16、p:每天需要提交和合并的代码,功能逐渐完成的代码开发分支辅助分支Feature:新功能分支,辅助develop分支。主要用于实验性且效果不好的代码变更。或者用于项目组新成员接手开发新功能等。分支可以合并到develop分支,或者直接丢弃。命名规范:feature-*Release:当基本版本完成,准备提交时到APP Store的等待时间,本分支可以做小BUG的修复。成功通过APP Store审核后,必须合并到Master分支,并记录标签(Tag),如果有BUGfix,则还需合并到Develop分支。此版本的作用是项目二期可以继续在develop分支开始开发。命名规范:release-*Hotf
17、ix: 对于线上版本(Master分支)的BUG修改的辅助分支,必须合并回master分支和develop分支。命名惯例:hotfix-*,1)项目中必备分支,2)工作流程图,创建项目创建Master分支、develop分支在develop分支不断开发和迭代版本0.1功能,如果有需要创建feature开发,则创建并最终选择是否合并到develop分支Develop分支的0.1版本开发完成,创建release-0.1分支,打包发布给测试人员测试,并进行在develop分支上继续开发0.2版本。测试人员发现release-0.1版本bug,相关开发人员直接在该分支上修改,并打包给测试人员继续测试。
18、其他人员继续在develop分支开发新功能。V0.1测试完成,发给用户查看,打包release-0.1给用户。用户如果有需要修改的需求或者BUG,项目经理把需求和BUG分开。需求问题需要告知客户要等下一个小版本。比较小的BUG问题,选择性的修改或者放到下一版本。如果用户要求一定要看到修改,则一定要合并到develop分支。同上一步骤,发布release-0.2版本,此时可以删除release-0.1分支。直到最后发布release-1.0版本后。Develop理论上可以继续开发二期功能。Release-1.0 版本跟进回归测试的bug,最终确定发布,并通过APP Store审核以后,把release-1.0合并到develop分支和Master分支,并添加一个标签Tag(V1.0)如果有1.0版本上线以后,发现了一下BUG,则需要通过Tag1.0创建一个分支hotfix-issue001进行修复,知道提交审核通过,把分支合并到Master分支和develop分支,并给Master添加标签(V实际版本号),2)工作流程图,