| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 【软件编写说明文档与工程代码管理】git使用规范及使用流程 -> 正文阅读 |
|
[开发工具]【软件编写说明文档与工程代码管理】git使用规范及使用流程 |
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 文章目录前言认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对git使用规范及使用流程做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、gitlab的简介1.git用于代码管理Git是目前世界上最先进的分布式(代码)版本控制系统。对项目开发过程中使用git进行版本管理进行规范 为什么Git版本控制系统要比别的版本控制系统好用?因为GIt跟踪和管理的是GIt的修改,而不是文件【防盗标记–盒子君hzj】 2.git用于debug可以在git的版本迭代中进行前后版本的对比,用回溯对比法进行代码debug . 二、git的使用流程(0)第0步:Git的安装wim从官网直接下载即可,正常安装,但是不要有中文路径 官网 (1)第一步【下载、新建代码】:clone拉取下载项目/新建自己的项目方法目的 (1)方式一:【clone拉取下载项目到本地目录】步骤一:创建本地版本库(repository)版本库概念【防盗标记–盒子君hzj】
步骤 第一步:创建一个目录
第二步:把目录进行git初始化
. 步骤二:从远程库拉取项目到本地由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以在Github官网进行设置 第1步:创建SSH Key在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面,设置SSH和keys
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。 当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。【防盗标记–盒子君hzj】 确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习 github和gitlab的区别 github大家都能看得到,gitlab只能公司内部人员看得到,相当于自己大了一个git的服务器【防盗标记–盒子君hzj】 最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。 第3步:在远程库clone拉取下载项目到本地目录远程库其实和本地库的实质是一样的,而在GitHub创建一个Git仓库 ,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。【防盗标记–盒子君hzj】 (1)git clone指令 示例
注意Git仓库地址 使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https【防盗标记–盒子君hzj】 . 这种方式,则是直接把github仓库中的 Githubfile文件夹克隆到本地,本初始化这个文件夹为git可管理的文件夹,且默认本地版本库的master和远程仓库的master是关联的 如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。 (2)方式二:【在本地新建自己的项目】步骤一:创建本地版本库(repository)版本库概念
步骤 第一步:创建一个目录
第二步:把目录进行git初始化
. 步骤二:创建自己的远程库由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以在Github官网进行设置 第1步:创建SSH Key在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面,设置SSH和keys
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。 当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。 确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习【防盗标记–盒子君hzj】 github和gitlab的区别 github大家都能看得到,gitlab只能公司内部人员看得到,相当于自己大了一个git的服务器 最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。 第3步:创建远程库远程库其实和本地库的实质是一样的,而在GitHub创建一个Git仓库 ,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。 (1)第一步:登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库【防盗标记–盒子君hzj】 (2)第二步:新建完成后,根据GitHub的提示,在本地的Github仓库下运行命令(把本地仓库和远程仓库进行关联) 步骤三:把本地的版本库和远程的仓库进行关联起来执行命令:git remote add origin https://github.com/xxxx/XXX.git 步骤四:在版本库(repository)的目录中添加/创建自己的文件. (2)第二步【新建分支】:新建自己的工作分支方法(1)分支的定义分支就像通道一样,不同的通道(dev)都能到达同一个终点(master),如果多人占用了一个通道,工作速度就会很慢,但是如果每个人都有一个分支(通道),他们就不会互相影响,高效率的完成自己的工作 我们每次提交(commit)了文件之后就会连成一条线,都会添加到一个个人分支,严格来说不是指向提交,提交并合并到主分支master才是真正的提交 (2)分支命名规范1)master分支为稳定版分支仅用于发布新版本,只有经过测试稳定后的代码才可合并到master分支,平时不能在上面干活。【防盗标记–盒子君hzj】 2)dev为开发者分支日常开发的代码都合并到该分支,但不要直接在该分支上修改。 3)feature为功能分支可用于某个功能开发过程中,可根据具体模块名或者功能名称来命名,该分支为主要的干活分支。 4)bug-fix/为临时的修复bug分支需要修复bug时,特别是对于已发布版本的bug,需要新建该类型分支,用于紧急的bug修复。如果在开发功能过程中发现的bug,还不是已发布版本,则可在原来的功能分支上修复后再提交 (3)分支相关指令(1)查看当前分支
(2)创建自己的分支
(3)切换分支
(4)创建+切换分支
(5)删除分支
(6)合并某分支到当前分支
. (3)第三步【代码开发】:(本地)功能代码开发方法【常用】在一个干净的分支上进行开发之前,先将dev分支合并到本分支,以从最新的代码库开始开发 步骤
. (4)第四步【提交代码到自己分支】:(在自己的分支内)提交代码【常用】(1)原理当前所在目录下,使用 git add 命令把文件添加到暂存器,再使用 git commit 命令把暂存器的文件提交到版本库的master分支上。最后使用命令:git push -u origin master ,就可以把本地的master 和远程的master关联起来 (2)提交流程步骤
(3)注意每次提交代码时,最好都至少有一个完整的小功能,即对整个模块细分功能进行开发,每个小功能完成后即进行代码的提交,这样也让开发者在开发的过程中理清整体开发思路 评论要清楚说明该提交相对于上一次提交所做的工作 (5)第五步【合并当前分支到某分支】:分支合并请求【常用】(1)步骤
(2)解决冲突问题情形1
情形2
(3)注意合并请求需要在网页端进行。代码提交到远程仓库后,需要在gitlab网页提交合并请求,请求将本分支的代码合并到dev分支 (6)git的其他指令git status
git diff [文件名]
git log
git reset
git tag -a -m <描述>
git tag -d
git show
参考资料 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:27:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |