目录
1.远程操作
1.基本认识
2.克隆远程仓库
3.向远端仓库推送
4.从远程仓库中拉取
5.忽略特殊文件
6.配置命令别名
2.标签管理
1.本地的标签
2.远端的标签
3.多人协作
1.远端同一个分支
2.远端不同的分支
4.企业级开发模型
1.交付软件流程
2.系统开发环境
1.需要说明的是:Git是分布式版本控制系统。其表现就是,我们可以拥有一个远端的中心服务器常年运行,只需要用其他的主机连接当前的中心服务器并且不断更新就能完成在不同主机上完成同步开发的要求
2.GitHub和Gitee就是提供远程仓库的平台,以下的平台以gitee为例
以gitee为例
1.仓库名称就是远端库的版本库名称
2.路径会根据仓库名称自动生成
3.最开始只能是私有的,需要创建完毕之后手动调节为开源
4.Readme文件,即打开项目时第一个文件,该文件用于告知使用者关于该项目的一些信息
5.issue模板文件,指的是使用者在使用过程出现问题时将所谓的问题通过该栏发送给编写者
6.Pull Request模板,用于合并分支的模板
7.其他后续解释
HTTPS
无任何要求,可直接克隆
git clone 克隆的路径:克隆远端仓库,需要注意的是不可以在本地仓库下进行克隆
git remote:查看远程仓库
SSH
想要通过SSH进行克隆,想要在本地服务器生成一个公钥传到git中进行保管
1.需要先在本地服务器创建SSH Key
2.先查看/.ssh中是否有id_rsa和id_rsa.pub两个文件。如果有则跳过
3.如果没有,则需要创建这两个文件。ssh-keygen -t rsa -C "邮箱(与Gitee的邮箱保持一致)"
4.进入id_rsa.pub,在gitee上添加公钥
5.最后克隆远端仓库
git push [远端仓库] [推送本地仓库的分支]:[接收远程仓库分支]:本地仓库的某一分支推送给远端仓库的某一分支下
需要注意的是,当前克隆下来的库中,username和useremail都不是远端的,而是自动生成的。通过git config--global user.name和git config--global user.email都修改了
git pull [远端仓库] [远程仓库分支]:[本地仓库的分支]:远程仓库分支拉取加合并到本地仓库分支中
在日常开发中,我们不会把所有文件传到远端去。我们也不能每次都筛选文件,所以这种人工审核的方式不太行得通。
.gitignore文件可以统一忽略一些格式的文件
.gitignore文件格式:
1.可以直接写文件名称
2.* .XXX:所有XXX后缀格式的文件都被忽略
忽略.gitignore,强制发送
1.git add -f 文件名:强制发送文件
2. !指定文件名:不排除指定文件
git check-ignore -v 被忽略的文件:查看被忽略的原因
git config --global alias.XX XXX:给XXX起别名为XX
git tag 标签名:打标签
git tag 标签名 commitID:某次提交处打标签
git tag -a 标签名 commitID -m "提示名":某次提交处打标签并添加描述
git tag:查看标签,此外.git中也有tags存放标签
git show 标签名:查看标签处的提交信息
git tag -d 标签名:删除标签
git push 远端 标签名:新的标签推送给远端
git push 远端 --tags:全部的标签推送给远端
git push 远端 [:标签名]:删除远端的标签
1.多人协作就会出现分支需要进行处理的问题,其解决思路其实根之前处理分支解释过的差不多
2.首先我们要清楚远程仓库也有分支可以创建,为了保证master的稳定性,我们需要创建分支,在分支上进行bug调试,最后合并回master
3.当然,此时本地也需要建立一个分支。之所以需要创建分支,是因为我们远端存在的意义就是为了保护文件。如果我们讲写好的文件直接放入远端的分支,那么其实我们也无法保证传过去的分支是比本地稳定的。
4.当然本地创建分支也不是简单的创建,我们是要把所谓创建本地分支发送给远端的分支去,那么此时我们需要把远端的分支与本地的分支建立连接,单独讲一下什么是连接。想要直接进行git push而不进行任何修饰,就需要讲连接建立,就是为讲本地的指定分支中的内容发送给远端指定分支中去。
5.git branch -b 分支名:创建分支,并且切换
6.git branch --set-upstream-to=[远端分支路径] 当前分支:分支建立连接
7.如果当前一个远端的分支有多人在进行开发,A开发完成提交到远端,B随后也完成想要发送给远端就会报错,因为当前的远端和本地文件对应不上,B需要git pull下来,将所有的修改进行筛选,最后才能提交
8.多人协作的合并操作:
远端更新方法:此时需要把开发分支合并到master中去,Pull Request模块中,将所有的信息和申请表填写随后修改文件并且提交。最后审查员审核,通过
本地更新方法:将远端的master文件pull到本地。将最新分支和master合并,无误后将master进行修改。最后push到远端去即可
1.在远端创建不同分支
2.多个主机在本地创建分支,并且连接对应远端的分支
我们会发现,这样做不会出现冲突,也是企业常见的情况
如果我们想要其他主机的分支呢?
1.git pull:可直接拉下分支。这是因为git pull命令而言,一是拉取分支中的内容、二是直接拉取远程仓库的分支
2.我们创建了远端的分支,但是没有本地的分支,所以要创建(git branch -b 分支名)后并且建立连接(git branch --set-upstream-to=[远端分支路径] 当前分支)。
3.git push上传
4.如果其他的主机需要使用该分支,则需要在远端建立连接之后将其他主机开发的数据git pull下来
合并到master
1.使用Pull Request进行合并即可。
2.这一步在本地完成,开始把远端仓库pull到本地,先在非master中进行合并保证master的安全性,在审查员和测试员检查之后才能通过
3.这一步在远端完成,本地文件push到远端,再把非master合并到master,在审查员和测试员检查之后才算master合并完成
最后删除掉远端的其他分支,不过此时本地的远端分支依然存在,首先我们通过git remote show [远端仓库名]来查看当前的分支情况,看到提示让我们需要通过git remote prune [远端仓库名去除已经远端删除的分支
流程:开发->测试->发布上线 == [规划、编码、构建、测试、发布、部署和维护]
软件开发工程师:规划、编码、构建
软件测试工程师:测试
软件运维工程师:发布、部署、维护
1.开发环境:开发环境是程序猿们专⻔⽤于⽇常开发的服务器。为了开发调试⽅便,⼀般打开全部错 误报告和测试⼯具,是最基础的环境。2.测试环境:⼀个程序在测试环境⼯作不正常,那么肯定不能把它发布到⽣产机上。该环境是开发环 境到⽣产环境的过渡环境。3.预发布环境:该环境是为避免因测试环境和线上环境的差异等带来的缺陷漏测⽽设⽴的⼀套环境。 其配置等基本和⽣产环境⼀致,⽬的是能让我们发正式环境时更有把握!所以预发布环境是你的产 品质量最后⼀道防线,因为下⼀步你的项⽬就要上线了。要注意预发布环境服务器不在线上集成服 务器范围之内,为单独的⼀些机器。4.⽣产环境:是指正式提供对外服务的线上环境,例如我们⽬前在移动端或PC端能访问到的APP都是⽣产环境。
分支 | 名称 | 适用环境 |
master |
主分⽀
|
⽣产环境
|
release
|
预发布分⽀
|
预发布/测试环境
|
develop
|
开发分⽀
|
开发环境
|
feature
|
需求开发分⽀
|
本地
|
hotfix
|
紧急修复分⽀
|
本地
|
不同项目不同模型,为项目服务
DevOps是⼀种重视“软件开发⼈员”和“IT运维技 术⼈员”之间沟通合作的⽂化、运动或惯例。透过⾃动化“软件交付”和“架构变更”的流 程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。在DevOps的软件开发过程包含计 划、编码、构建、测试、预发布、发布、运维、监控,由此可⻅DevOps的强⼤。
项目设置
1.注册
2.创建项目
3.创建仓库
分支模型:查看自己想要的选择即可
成员设置
1.添加成员
2.添加项⽬成员