Git &ampamp; Gitlab 使用指南.doc

上传人:小** 文档编号:90971376 上传时间:2019-06-20 格式:DOC 页数:64 大小:4.04MB
返回 下载 相关 举报
Git &ampamp; Gitlab 使用指南.doc_第1页
第1页 / 共64页
Git &ampamp; Gitlab 使用指南.doc_第2页
第2页 / 共64页
Git &ampamp; Gitlab 使用指南.doc_第3页
第3页 / 共64页
Git &ampamp; Gitlab 使用指南.doc_第4页
第4页 / 共64页
Git &ampamp; Gitlab 使用指南.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《Git &ampamp; Gitlab 使用指南.doc》由会员分享,可在线阅读,更多相关《Git &ampamp; Gitlab 使用指南.doc(64页珍藏版)》请在金锄头文库上搜索。

1、Git & Gitlab 使用指南去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SVN 可能都不是很了解的人。看到自己写了这么多,于是就拿出来分享下,有些东西可能写得比较浅,有错误还请指正。1. 关于 Git 你应该知道的东西Git 是一个分布式版本控制系统。分布式的意思是,每个人电脑上都是一份完整的代码库,包含了所有的代码提交历史。由于 Git 分布式的特点,在没有网络的情况下,依然可以自由地将代码提交的本地的代码库中,等网络恢复后再推送到服务器,开发更加灵活和自由。 重要概念:本地一个代码库,对本地文件的所有操作,最后都是提交到这个代

2、码库中。同时可以设置多个远程(remote,默认的remote通常用origin表示),当你要将代码更新到服务器上时(称作push),就通过设置的remote,更新到指定的服务器。 关于多个remote:例如其他公司的开发人员,在自己的公司中开发代码,将默认remote设置为公司自己的源码管理服务器,同时设置另外一个remote为移动的源码服务器。这样即可以将代码提交到自己公司的服务器,同时也可以提交到移动的服务器。1.1 一些术语 Fetch(获取),从远程代码库更新数据到本地代码库。 注意 :Fetch 只是将代码更新到本地代码库,你需要检出(check out)或与当前工作分支合并(me

3、rge)才能在你的工作目录中看到代码的改变。 Pull(拉取),从远程代码库更新数据到本地代码库,并与当前工作分支合并,等同于 Fetch + Merge。 Push(推送),将本地代码库中已提交(commit)的数据推送到指定的 remote,没有 commit 的数据,不会push HEAD,指向你正在工作中的本地分支的指针 Master 分支:主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。 关于分支管理的扩展阅读 Tags(标签):用来记录重要的版本历史,例如里程碑版本 Origin:默认的 remote的名称 Git clone(克隆版本库):从服务端将项目的版本库克隆下

4、来 Git init(在本地初始化版本库):在本地创建版本库的时候使用1.2 工作流程1. 对代码进行修改2. 完成了某项功能,提交(commit,只是提交到本地代码库),1-2可以反复进行,直到觉得可以推送到服务器上时,执行33. 拉取(pull,或者用获取 fetch 然后再手动合并 merge)4. 如果存在冲突,解决冲突5. 推送(push),将数据提交到服务器上的代码库1.3 Gitlab 可以做什么Gitlab 是 Git 服务端的集成管理平台,提供了:1. 代码托管服务2. 访问权限控制3. 问题跟踪,bug的记录、跟踪和讨论4. Wiki,项目中一些相关的说明和文档5. 代码审

5、查,可以查看、评论代码目前官方没有中文版,有个人汉化版本,一些地方对中文的支持较不好(详见后续章节),如果有需要中文翻译的地方,可以自己修改对应的代码。怎么安装和维护 Gitlab,请看我另外一篇博客 CentOS 6.5 Minimal 安装 Gitlab 7.5 2. 安装与配置需要安装以下工具: Git(Git 主程序) http:/git- Git 图形界面操作工具 SourceTree https:/ TortoiseGit https:/ TortoiseGit只有 Windows 版本,有32位和64位版本,请根据自己的电脑选择相应的版本,同时下载对应版本的中文语言包。2.1 设

6、置 TortoiseGit 中文语言右键 - TortoiseGit - 设置2.2 设置用户名和邮箱点击 Git 选项,然后点击右侧的 全局 ,最后输入用户名和邮箱即可。这里的用户名和邮箱,将作为以后提交数据到Git服务端的作者信息,请一定要设置。 2.3 设置保存密码默认情况下,Git 客户端每次与服务器交互,都需要输入密码。但是我们可以配置保存密码,只需要输入一次,就不再需要输入密码。选择 编辑全局.git/config ,在末尾添加 credential helper = store2.4 配置 SSH KeyGit 可以通过 HTTP 和 SSH 的方式连接,如果要使用SSH的方式连

7、接,需要确保自己的 IP 有访问 Gitlab 服务器 22 端口的权限。通过 SSH 的方式,可以不用每次与服务器进行交互时都需要输入用户名和密码。如果是 IDE 中的 Git 插件,则有保存密码的功能。2.5 生成 SSH Key2.5.1 在 Git Bash 命令行下生成鼠标右键 - Git Bashssh-keygen -t rsa -C 生成后的公钥会存放在C:/Users/You_User_Name/.ssh/id_rsa.pub2.5.2 在可视化工具下生成注意:使用这种方法生成时,默认会用计算机名,作为生成的 SSH Key 的名称,如果计算机名包含中文,则会因编码问题而出错

8、。这时候可以使用在 Git Bash 命令行下生成的方法。鼠标右键 - Git Gui帮助 - Show SSH Key点击 Generate Key,弹出一个对话框,提示输入 passphrase(密码短语),需要输入两次。意思就是以后提交数据到服务端,只要输入这个密码短语就可以了。这里可以为空,直接点OK,这样,以后就不需要输入任何密码。但建议还是要输入密码短语。复制 SSH Key 的公钥2.6 在 Gitlab 上配置 SSH Key配置好 SSH Key 以后提交代码,可以不用输入密码。点击右上角的资料设置 - SSH 密钥 - 增加 SSH 密钥粘贴刚刚复制的 SSH Key 公钥

9、,标题为可选,不写会自动生成2.7 配置 Gitlab2.7.1 上传个人头像请上传个人头像,主要是为了易于识别用户。2.7.2 设置邮件通知如果不想收到邮件通知,可以设置关闭。但是建议开启邮件通知。3. Git 基本功能简介3.1 我是项目的创建者,我要创建项目3.1.1 在 Gitlab 上执行创建新项目1. 取一个恰当的名字。2. 选择正确的命名空间。所有人都可以在自身用户名下建立新项目,但是群组命名空间下的项目只能由具有相应权限的人建立。3. 填写详细的项目描述4. 选择可见等级项目创建完成后,需要初始化,请保留该页面,在必要时复制项目的 SSH 地址Git 同时支持 SSH 和 HT

10、TP 的方式访问,SSH 可以不用输入密码。3.1.2 初始化项目以下这些操作,需要在项目的目录下进行。请注意如果你的项目文件夹路径包含中文,请使用 TortoiseGit 工具来操作,不要使用 Git Gui,否则会出现错误。3.1.3 创建一份排除版本控制的文件类型清单在项目中,实际上有很多文件是不需要版本控制的,例如编译过程中生成的中间文件 .obj ,IDE 的配置文件(Intellj IDEA 的 .idea 文件夹),编译生成的文件(/out/ 和 /bin/ 文件夹),Python的.pyc文件,像这些类型的文件我们可以设置过滤,避免导致版本库很大。 我们只要在项目的目录下,放一

11、个 .gitignore 文件就可以了。 这份 .gitignore 文件,排除了.idea/,out/,bin/ 文件夹,以及所有类型为 .pyc 的文件 Github 上面有一个 .gitignore 模板的项目 如果后续开发中有新类型的文件要排除,可以在文件上右键 - TortoisGit - 删除并添加到忽略列表3.1.4 创建一份 README.md 文件README.md 文件用来填写项目的描述和说明,会直接显示在 Gitlab 的项目文件页面,方便直接查看项目的描述信息。.md 是 Markdown 格式的文件,关于 Markdown,可以查看 作业部落 3.1.5 在自己的电脑

12、上创建版本库在项目目录下右键 - Git init here这样就可以在当前文件夹创建一个 Git 版本控制的库,同时创建一个分支 master。该操作会在这个文件夹下自动创建一个 .git 的隐藏文件夹,所有关于版本控制的信息都放在这个文件夹下面的文件中。 3.1.6 提交代码到本地版本库右键 - Git 提交选择要提交的文件,并填写描述信息3.1.7 设置 remote将项目的 SSH 地址复制过来,并将默认的 remote 名称设置为 origin如果提示是否关闭获取标签,也选择 No3.1.8 推送到服务器上的版本库(push to remote)如果提示该服务器主机是未知的,请选择是

13、,添加到已知主机列表到这一步项目的代码库已创建完成,可以去 Gitlab 上查看项目3.1.9 创建开发分支默认情况下,master 分支在 Gitlab 中是保护分支。保护分支只允许 Master 级别以上的用户才能 push 和 delete。而普通的开发人员(Developer 级别)是无法提交代码到 master分支的。这么设计的原因是:我们通常将 master 分支作为稳定版本发布的分支,在这个分支上的代码都是最新可用版本。而日常的开发,通常在开发分支 develop 上进行。等到功能稳定后,再由项目的管理员合并到 master 分支上。请在 Gitlab 中操作3.2 我是开发人员

14、,我要获取和提交代码3.2.1 克隆项目在一个空白的项目文件夹下,右键 - Git克隆。如果你已配好了SSH Key,请输入项目的SSH地址,这样就可以不用再输入密码。Git 支持 SSH 和 HTTP 的方式访问,这里也可以使用 HTTP 地址。如果提示该服务器主机是未知的,请选择 是 ,添加到已知主机列表 3.2.2 检出开发分支Git 克隆默认会检出 master 分支,但是我们需要在开发分支中工作。检查当前所在的分支注意:切换分支的时候,如果有未提交的内容,需要先提交,否则无法切换分支。如果不想提交可以用贮藏(stash)到这一步完成,你就可以在本地自由地做开发了3.2.3 从服务器的代码库更新数据请注意,选择拉取功能,就不需要再执行合并。如果是获取,就需要再执行一次合并。两者的区别在于,拉取省略了合并的细节。3.2.4 冲突与解决出现无法推送试试拉取,但拉取的时候出现冲突,Merge conflict in test.html这时候需要先解决冲突解决方法有两种,一种是打开冲突的文件,手动删除冲突标记上面那部分的内容是本地代码库,HEAD 所指向分支的代码,下面那部分的内容是服务器端代码库的内容 HEADThis is for test.=This is for test. 5f065407ecf91415f109c882119291f0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号