电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Git &ampamp; Gitlab 使用指南.doc

64页
  • 卖家[上传人]:小**
  • 文档编号:90971376
  • 上传时间:2019-06-20
  • 文档格式:DOC
  • 文档大小:4.04MB
  • / 64 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Git & Gitlab 使用指南去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SVN 可能都不是很了解的人。看到自己写了这么多,于是就拿出来分享下,有些东西可能写得比较浅,有错误还请指正。1. 关于 Git 你应该知道的东西Git 是一个分布式版本控制系统。分布式的意思是,每个人电脑上都是一份完整的代码库,包含了所有的代码提交历史。由于 Git 分布式的特点,在没有网络的情况下,依然可以自由地将代码提交的本地的代码库中,等网络恢复后再推送到服务器,开发更加灵活和自由。 重要概念:本地一个代码库,对本地文件的所有操作,最后都是提交到这个代码库中。同时可以设置多个远程(remote,默认的remote通常用origin表示),当你要将代码更新到服务器上时(称作push),就通过设置的remote,更新到指定的服务器。 关于多个remote:例如其他公司的开发人员,在自己的公司中开发代码,将默认remote设置为公司自己的源码管理服务器,同时设置另外一个remote为移动的源码服务器。这样即可以将代码提交到自己公司的服务器,同时也可以

      2、提交到移动的服务器。1.1 一些术语 Fetch(获取),从远程代码库更新数据到本地代码库。 注意 :Fetch 只是将代码更新到本地代码库,你需要检出(check out)或与当前工作分支合并(merge)才能在你的工作目录中看到代码的改变。 Pull(拉取),从远程代码库更新数据到本地代码库,并与当前工作分支合并,等同于 Fetch + Merge。 Push(推送),将本地代码库中已提交(commit)的数据推送到指定的 remote,没有 commit 的数据,不会push HEAD,指向你正在工作中的本地分支的指针 Master 分支:主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。 关于分支管理的扩展阅读 Tags(标签):用来记录重要的版本历史,例如里程碑版本 Origin:默认的 remote的名称 Git clone(克隆版本库):从服务端将项目的版本库克隆下来 Git init(在本地初始化版本库):在本地创建版本库的时候使用1.2 工作流程1. 对代码进行修改2. 完成了某项功能,提交(commit,只是提交到本地代码库),1-2可以反复进行,直到觉得

      3、可以推送到服务器上时,执行33. 拉取(pull,或者用获取 fetch 然后再手动合并 merge)4. 如果存在冲突,解决冲突5. 推送(push),将数据提交到服务器上的代码库1.3 Gitlab 可以做什么Gitlab 是 Git 服务端的集成管理平台,提供了:1. 代码托管服务2. 访问权限控制3. 问题跟踪,bug的记录、跟踪和讨论4. Wiki,项目中一些相关的说明和文档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 设

      4、置 TortoiseGit 中文语言右键 - TortoiseGit - 设置2.2 设置用户名和邮箱点击 Git 选项,然后点击右侧的 全局 ,最后输入用户名和邮箱即可。这里的用户名和邮箱,将作为以后提交数据到Git服务端的作者信息,请一定要设置。 2.3 设置保存密码默认情况下,Git 客户端每次与服务器交互,都需要输入密码。但是我们可以配置保存密码,只需要输入一次,就不再需要输入密码。选择 编辑全局.git/config ,在末尾添加 credential helper = store2.4 配置 SSH KeyGit 可以通过 HTTP 和 SSH 的方式连接,如果要使用SSH的方式连接,需要确保自己的 IP 有访问 Gitlab 服务器 22 端口的权限。通过 SSH 的方式,可以不用每次与服务器进行交互时都需要输入用户名和密码。如果是 IDE 中的 Git 插件,则有保存密码的功能。2.5 生成 SSH Key2.5.1 在 Git Bash 命令行下生成鼠标右键 - Git Bashssh-keygen -t rsa -C 生成后的公钥会存放在C:/Users/You_U

      5、ser_Name/.ssh/id_rsa.pub2.5.2 在可视化工具下生成注意:使用这种方法生成时,默认会用计算机名,作为生成的 SSH Key 的名称,如果计算机名包含中文,则会因编码问题而出错。这时候可以使用在 Git Bash 命令行下生成的方法。鼠标右键 - Git Gui帮助 - Show SSH Key点击 Generate Key,弹出一个对话框,提示输入 passphrase(密码短语),需要输入两次。意思就是以后提交数据到服务端,只要输入这个密码短语就可以了。这里可以为空,直接点OK,这样,以后就不需要输入任何密码。但建议还是要输入密码短语。复制 SSH Key 的公钥2.6 在 Gitlab 上配置 SSH Key配置好 SSH Key 以后提交代码,可以不用输入密码。点击右上角的资料设置 - SSH 密钥 - 增加 SSH 密钥粘贴刚刚复制的 SSH Key 公钥,标题为可选,不写会自动生成2.7 配置 Gitlab2.7.1 上传个人头像请上传个人头像,主要是为了易于识别用户。2.7.2 设置邮件通知如果不想收到邮件通知,可以设置关闭。但是建议开启邮件通知。

      6、3. Git 基本功能简介3.1 我是项目的创建者,我要创建项目3.1.1 在 Gitlab 上执行创建新项目1. 取一个恰当的名字。2. 选择正确的命名空间。所有人都可以在自身用户名下建立新项目,但是群组命名空间下的项目只能由具有相应权限的人建立。3. 填写详细的项目描述4. 选择可见等级项目创建完成后,需要初始化,请保留该页面,在必要时复制项目的 SSH 地址Git 同时支持 SSH 和 HTTP 的方式访问,SSH 可以不用输入密码。3.1.2 初始化项目以下这些操作,需要在项目的目录下进行。请注意如果你的项目文件夹路径包含中文,请使用 TortoiseGit 工具来操作,不要使用 Git Gui,否则会出现错误。3.1.3 创建一份排除版本控制的文件类型清单在项目中,实际上有很多文件是不需要版本控制的,例如编译过程中生成的中间文件 .obj ,IDE 的配置文件(Intellj IDEA 的 .idea 文件夹),编译生成的文件(/out/ 和 /bin/ 文件夹),Python的.pyc文件,像这些类型的文件我们可以设置过滤,避免导致版本库很大。 我们只要在项目的目录下,放一

      7、个 .gitignore 文件就可以了。 这份 .gitignore 文件,排除了.idea/,out/,bin/ 文件夹,以及所有类型为 .pyc 的文件 Github 上面有一个 .gitignore 模板的项目 如果后续开发中有新类型的文件要排除,可以在文件上右键 - TortoisGit - 删除并添加到忽略列表3.1.4 创建一份 README.md 文件README.md 文件用来填写项目的描述和说明,会直接显示在 Gitlab 的项目文件页面,方便直接查看项目的描述信息。.md 是 Markdown 格式的文件,关于 Markdown,可以查看 作业部落 3.1.5 在自己的电脑上创建版本库在项目目录下右键 - Git init here这样就可以在当前文件夹创建一个 Git 版本控制的库,同时创建一个分支 master。该操作会在这个文件夹下自动创建一个 .git 的隐藏文件夹,所有关于版本控制的信息都放在这个文件夹下面的文件中。 3.1.6 提交代码到本地版本库右键 - Git 提交选择要提交的文件,并填写描述信息3.1.7 设置 remote将项目的 SSH 地址复

      8、制过来,并将默认的 remote 名称设置为 origin如果提示是否关闭获取标签,也选择 No3.1.8 推送到服务器上的版本库(push to remote)如果提示该服务器主机是未知的,请选择是,添加到已知主机列表到这一步项目的代码库已创建完成,可以去 Gitlab 上查看项目3.1.9 创建开发分支默认情况下,master 分支在 Gitlab 中是保护分支。保护分支只允许 Master 级别以上的用户才能 push 和 delete。而普通的开发人员(Developer 级别)是无法提交代码到 master分支的。这么设计的原因是:我们通常将 master 分支作为稳定版本发布的分支,在这个分支上的代码都是最新可用版本。而日常的开发,通常在开发分支 develop 上进行。等到功能稳定后,再由项目的管理员合并到 master 分支上。请在 Gitlab 中操作3.2 我是开发人员,我要获取和提交代码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

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

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.