GIT使用说明

来源:互联网 发布:学简谱的软件 编辑:程序博客网 时间:2024/05/22 07:02

图片不好粘贴,原文件,请到资源中下载

 http://download.csdn.net/detail/maotongbin/9866038

 

目录

目录 3

1章 GIT简介 4

1.1 GIT简介 4

1.2 GitFlow工作流 4

2章 GIT工具 5

工具存放路径: 5

2.1 GIT 5

2.2 EGIT 5

3章 GITLAB 6

3.1 注册 6

3.2 SSH Key 7

4章 分支说明 9

5章 使用说明 11

5.1 EGIT配置 11

5.2 导入项目 12

5.3 分支切换 15

5.4 更新代码 17

5.5 提交代码 18

5.6 冲突管理 24

6章参考资料 26

 

 

 

 

 

 

 

 

 

 

 

 

第1章 GIT简介

1.1  GIT简介

此部分可以略过

http://baike.baidu.com/link?url=cn2awjhw20Ay-6yvJ80qToiGkYPULhfRoZ4zaH2lPtc7L6ctMSnkWFknd0A7jAOPjbl0kQizCDY08T8nilbEG_

1.2  GitFlow工作流

此部分需要重点关注。以后我们将使用GitFlow工作流进行代码管理

 

主要分支:

· Master(绿色): 永远处在 production-ready 状态

· Develop(橙色): 最新的下次发布开发状态

支援性分支:

· Feature(蓝色): 开发新功能都从 develop 分支出来,完成后 merge 回 develop

· Release(黄色): 准备要 release 的版本,只修 bugs。从 develop 分支出来,完成后 merge 回 master 和 develop

· Hotfix(紫色): 等不及 release 版本就必须马上修 master 赶上线的情况。会从 master 分支出来,完成后 merge 回 master 和 develop

       关于GitFlow工作流的详细说明,请阅读Git工作流指南》  2.3 Gitflow工作流

第2章 GIT工具

 工具存放路径:

  共享文件夹: \\WINDOWS-SHARESE 你在开始菜单-运行输入这个,用户名gxwj,密码1901gx, 文件夹tools,主要开发工具在java开发工具文件夹中。

2.1  GIT

 \\WINDOWS-SHARESE\tools\java开发工具\GIT工具\Git-2.11.0-64-bit.exe安装过程此处略过

2.2  EGIT

EGit是一款Eclipse上的Git插件。安装过程如下:

1.打开帮助中心,安装插件

     

2.填写egit信息

       

      EGit插件地址:http://download.eclipse.org/egit/updates

 3.随后连续下一步默认安装就可以,安装后进行重启Eclipse

第3章 GITLAB

GitLab 是一个用于仓库管理系统的开源项目。类似于SVN的数据仓库。

Gitlab地址: http://192.168.2.219/

3.1  注册

注册地址:http://192.168.2.219/users/sign_in

 

注册说明:

Name:请填写自己的真实姓名

Username:请填写姓名缩写。格式为 姓+名字首字母缩写

Email: 这里注意请勿使用 QQ邮箱。经测试QQ邮箱有收不到邮件的风险。

注册成功后请联系管理员授权。

3.2  SSH Key

如果希望本地能够顺利与gitlab交互。需要将本机的 id_rsa.pub 配置到gitlab 建立ssh信任。

1. 打开git-bash

git-bash在git的安装目录下

 

 

2. 输入命令ls -al ~/.ssh。检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第5步。

 

3. git bash中键入ssh-keygen -t rsa -C "your_email@example.com",注意将这里的邮箱地址替换成你自己的邮箱地址。在显示如下的输出后。

 

4. 一直按回车就可以了。然后就显示成这样:

 

5. 在这里可以看到id_rsa和id_rsa.pub文件已经生成。并且生成的路径也已显示。

用记事本之类的软件打开id_rsa.pub文件,并且复制全部内容。

 

 

6. 登录gitlab,打开SSH key标签。

 

 

7. 将刚刚复制的内容粘贴进去即可,然后点击add key。

 

8. 全部操作完成,只要你对你要操作的项目的有权限,接下来就可以顺利的进行git的操作了。 

第4章 分支说明

 

主要分支:

· Master(绿色): 永远处在 production-ready 状态

· 此分支为稳定版分支。普通开发人员无权操作。组长负责合并工作。对应亚马逊环境。

· 分支标记为 master

 

· Develop(橙色): 最新的下次发布开发状态

· 开发分支用于日常代码开发,不稳定分支。对应开发测试环境。

支援性分支:

· Feature(蓝色): 开发新功能都从 develop 分支出来,完成后 merge 回 develop

开发分支用于日常需求开发。由组长划分哪些需求在那条分支上开发,并创建分支。分支开发完成后组长负责合并Feature 到Develop.

 

· Release(黄色): 准备要 release 的版本,只修 bugs。从 develop 分支出来,完成后 merge 回 master 和 develop

发版分支,在发布版本前由组长指定此版本所包含的功能和bug并从Develop分支新建Release 用来维护此版本中所包含的BUG。

 

· Hotfix(紫色): 等不及 release 版本就必须马上修 master 赶上线的情况。会从 master 分支出来,完成后 merge 回 master 和 develop

此分支只能用于维护亚马逊环境所产生的BUG。用于BUG紧急修复。

 

第5章 使用说明

5.1  EGIT配置

打开eclipse 属性文件。添加注册gitlab时填写的email name

 

5.2  导入项目

git远程仓库导入项目

 

 

 

填写gitlab地址及用户名密码

 

http://192.168.2.219/cms/gitTest.git

 

 

指向本地workspace

 

 

也可以选择第二项新建一个项目

 

 

 

项目导入成功

 

 

此时默认是 master分支。请勿在此分支上进行任何操作。开发工作需要切换到分支进行

5.3 分支切换

 

Remote Tracking 下面列出所有分支,此分支由组长创建并分配权限给开发人员。具体的任务在哪个分支上完成由组长进行分配。

 

 

 

切换后注意项目的版本信息发生变化

 

5.4 更新代码

Pull命令可以从远程将代码更新到本地。请在push之前务必先更新代码。否则push不成功。

 

 

 

 

 

5.5 提交代码

克隆服务器端仓库后,会在本地建立一个一样的仓库,称本地仓库。在本地进行commit操作将把更新提交到本地仓库,然后可以将服务器端的更新pull到本地仓库进行合并,最后将合并好的本地仓库push到服务器端,这样就进行了一次远程提交。

 

 

 

填写注释然后commit。注意此处commit只是将代码提交到本地仓库。只有自己可以见,并没有提交到远程仓库。如果确认代码无误需要提交到远程仓库,可以使用commit and push

建议在这里只使用commit。待整个任务完成后统一push

 

如果不习惯上面的样式。可以把这里勾掉。就可以变成svn提交的风格

 

 

 

注释请统一标准格式:

①开发完成度:100%

②情况说明:

1.完成功能开发

2.财务接口等待财务平台部署后联调

③存在问题和风险:

完成一个任务后,使用push将本地仓库提交到远程仓库。注意解决冲突

 

 

 

 

 

 

 

 

5.6 冲突管理

  多人协作开发的情况下,往服务器推送更新时难免出现冲突,所以推送之前需要解决服务器端的最新版本和本地仓库的冲突。Pull操作就是把服务器端的更新拉拢到本地仓库进行合并,解决好合并冲突后,就可以顺利push到服务器分支了。

假设现在Mairo兄弟在用GIT协作开发NewSuperMairoBro游戏,目前服务器端的mushroom.java文件的内容如下:

 

MairoBro克隆出代码后,Mairo哥哥做了如下修改

 

Mairo弟弟做了如下修改

 

然后Mairo弟弟先push代码,Mairo哥哥使用pull来合并本地仓库和远程仓库,将发行文件出现冲突,此时GIT会自动合并冲突的文件,如下图所示:

 

 

 

很明显自动合并的冲突文件不能直接使用,我们可以手动调整,右键发生冲突的文件,选择Team -> Merge Tool

 

第一项是将GIT自动合并过的文件和服务器端文件进行对比

第二项是用本地最新版本的文件和服务器端文件进行对比,建议用此项

接下来就是熟悉的对比界面

 

Mairo哥哥将冲突文件修改如下

 

然后右键点击此冲突文件,选择Team -> Add to index再次将文件加入索引控制,此时文件已经不是冲突状态,并且可以进行提交并push到服务器端

 

解决合并冲突后,Mairo弟弟只需要将服务器中合并后的版本pull到本地,就完成了一次协作开发的代码合并。从历史记录中可以看到,从mushroom开始历史进入分支,先是mushroomA的记录,然后是mushroomB的记录,最后历史分支合并。

第6章 参考资料

网上参考资料很多。再此不在赘述。请大家根据自己实际开发需要进行学习。

EGIT使用教程

https://my.oschina.net/doloop/blog/221800

 

Git工作流指南》  2.3 Gitflow工作流

 

下面几篇文章介绍了SourceTree工具,开发人员可以不必关心。

SVN迁移至 Gitlab + Gitflow总结

http://blog.csdn.net/uxyheaven/article/details/50373076

 

SourceTreeGitFlow的使用
http://blog.csdn.net/victor_barnett/article/details/51211282

 

使用GitlabSourceTree进行版本控制

http://zhan.renren.com/geekstation?gid=3602888498049268046&checked=true