Git版本与分支

开源 0

目录

一、Git

二、配置SSH

1.什么是SSH Key

2.配置SSH Key

三、分支

1.为什么要使用分支

2.四个环境及特点

3.实践操作

1.创建分支

2.查看分支

3.切换分支

4.合并分支

5.删除分支

6.重命名分支

7.推送远程分支

8.拉取远程分支

9.克隆指定分支

四、版本

1.什么是版本

2.实践操作

1.创建标签

2.查看所有标签

3.删除标签

4.推送标签到远程

5.克隆指定标签到本地


一、Git

GIT官方网站为了解决部分用户通过命令行对git工具使用时的怨声载道的现象,因此推出了一个GIT的可视化工具Git Gui。

找到电脑任意位置,右键 -> Git Gui Here 打开可视化窗口操作Git。

GitGui建议与ssh key一起使用更加方便

类似的Git的图形化界面工具还有很多,例如:windows上的TortoiseGit,Mac则上SourceTre

二、配置SSH

1.什么是SSH Key

SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。

每台电脑上会产生出一个ssh key,然后自己有一个远程账户,但是自己有可能有很多台电脑,包括家里的电脑还有公司的电脑,我们可以在任意一台电脑上工作,但是如果想要每台电脑都和远程版本库时刻保持着通讯,就需要将每台电脑的ssh key添加到远程账户,添加到远程版本库之后,远程版本库就会和已经添加的电脑进行通讯而不会和其他电脑进行通讯。

2.配置SSH Key

操作分为本地电脑配置(前三个步骤属于本地电脑配置)和gitee网站配置。

第一步:配置用户和邮箱(如果已经配置,则跳过)

# 配置用户名git config --global user.name "username"# 配置邮箱git config --global user.email "email"

第二步:检查本地是否存在ssh

找到电脑任意位置,右键 -> Git Bash Here 打开命令窗口,输入以下命令:

# 检查是否存在sshcd ~/.ssh# 查看该目录下是否存在ssh秘钥文件ls

当cd ~/.ssh命令执行后窗口返回no such file or directory的时候,表示我们的电脑并没有ssh key,所以需要我们创建ssh key。

1) ~表示当前用户的目录,比如我的是:C:/Users/L 2) ls命令执行后,如果本地有ssh秘钥的话会有id_rsa.pub,config,known_hosts等文件

第三步:生成或删除秘钥  

# 请修改成自己的注册邮箱地址ssh-keygen -t rsa -C "xxx@xx.com"

输入以上命令,接着按3个回车即可。如果本地有ssh,执行以上命令会出现正面的提示,这里选择y,表示覆盖本地的ssh key,其实也就是ssh秘钥删除的意思。

第四步:远程gitee配置

登录到gitee,点击最后侧闹钟图标,选择账号设置页面,最后找到SSH公钥。

输入公钥的标题公钥,点击确定按钮即可。

第五步:测试SSH连接

输入测试命令:ssh -T git@gitee.com

如果显示如下内容,表示ssh key添加成功:

 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

三、分支

1.为什么要使用分支

假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

怎么办? 现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

2.四个环境及特点

四个环境分别是:dev、test、pre、pro(master),中文名字:开发环境、测试环境、灰度环境、生产环境

  • dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大;

  • test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定;

  • pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样;

  • pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境;

3.实践操作

1.创建分支

# 仅仅保存本地,远程还需要pushgit branch name     

2.查看分支

查看分支,此命令会列出所有分支,当前分支前面会标一个*号

# 查看本地分支git branch      # 查看远程分支git branch -a        

3.切换分支

# 切换分支git checkout name

创建+切换分支命令如下:

# 创建+切换git checkout -b name

4.合并分支

首先切换到需要合并到的目标分支,例如A分支合并到B分支,则B分支为合并到的目标分支。

# 合并分支git merge name

5.删除分支

# 删除本地分支git branch -d 分支名称                     # 删除远程分支git push origin --delete dev   

6.重命名分支

oldBranchName表示要改的本地分支名称,newBranchName表示修改后的本地分支名称。

# 重命名分支git branch -m oldBranchName newBranchName

7.推送远程分支

推荐使用第2种方式,git push origin <远程分支名

# 将本地当前分支 推送到 远程指定分支上git push <远程仓库名> <本地分支名>:<远程分支名># 将本地当前分支 推送到 远程指定分支上git push <远程仓库名> <远程分支名># 将本地当前分支 推送到 与本地当前分支同名的远程分支上git push <远程仓库名>

8.拉取远程分支

在克隆远程项目的时候,本地分支会自动与远程分支建立追踪关系,可以使用默认的origin来替代远程仓库名,所以,我常用的命令就是 git pull origin <远程仓库名>,操作简单,安全可控。

# 将远程指定分支 拉取到 本地指定分支上git pull <远程仓库名> <远程分支名>:<本地分支名># 将远程指定分支 拉取到 本地当前分支上:git pull <远程仓库名> <远程分支名># 将与本地当前分支同名的远程分支 拉取到 本地当前分支上git pull <远程仓库名>

9.克隆指定分支

使用git拉代码时可以使用 -b 指定分支。

指定拉取master分支代码:

git clone -b master git地址

指定拉取dev分支代码:

git clone -b dev git地址

四、版本

1.什么是版本

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。 将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

软件版本号由四部分组成,第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:base、alpha、beta、RC、release。例如:1.0.0.230322_beta。

有的公司在版本命名时,前面加v,“-”替换成“_”,更加详细一点还可以在修订号后面添加发布日期v1.0.0.191220_alpha,这都是可以的。  

软件版本阶段说明:

  • Base版:此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构。

  • Alpha版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。

  • Beta版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。

  • RC版:该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。

  • Release版:该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。

分支与版本的关系

分支版本
devalpha
testbeta
prerc
pror

2.实践操作

1.创建标签

首先,切换到需要打标签的分支上,例如:dev,再创建标签。

# 查看分支git branch# 切换到dev分支git checkout dev# 创建轻量标签git tag 1.0.0-alpha# 创建附注标签git tag -a 1.0.0-alpha -m "一期开发完成"

git标签分为两种类型:轻量标签和附注标签,区别:附注标签带注解

2.查看所有标签

 标签不是按时间顺序列出,而是按字母排序的。

# 查看所有标签git tag# 查看标签信息git show <tagname>

3.删除标签

因为创建的标签都只存储在本地,不会自动推送到远程。所以,标签可以在本地直接删除。

# 删除本地标签git tag -d 1.0.0-alpha

4.推送标签到远程

因为创建的标签都只存储在本地,不会自动推送到远程,还需要手动推送

# 将本地标签推送到远程git push origin 1.0.0-alpha

5.克隆指定标签到本地

git clone --branch [tags标签] [git地址]

例如:

git clone --branch v1.0.0.231010_alpha git地址 仓库名

也许您对下面的内容还感兴趣: