Git和Tag看了就会!

本文介绍了如何使用Git进行分支创建与合并,包括从克隆代码开始,创建并修改分支,解决合并冲突,以及利用Tag进行版本管理。Tag用于标记特定版本,与Branch不同,它是只读的。详细阐述了打标签、提交、推送标签到远程服务器以及删除标签的命令。同时,提供了一个从创建新分支到合并到主分支并推送至远程仓库的实战案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、分支创建合并merge

第一步:我们需要将代码克隆下来:

git clone http://xxxxx(代码地址)

第二步:创建一个分支

git checkout -b XXXX(分支名称)

第三步:修改代码文件后提交分支

git add .
git commit -m "描述信息"
git push origin XXXX(上面创建的分支名称)

第四步:合并分支到主流程中

git checkout master //从分支切换到主流程中
git pull origin master //把主流程中最新代码拉下来,多人修改时适用
git merge XXXX(上面创建的分支名称) //将XXXX分支合并到主流程master中

第五步:如果这个时候出现冲突问题,分为两步进行

//如果没有冲突
git push origin master
//如果有冲突
修改了冲突后执行以下操作
git add .
git commit -m "描述信息"
git push origin master

额外注意:

1)如果第二次需要进行对分支的修改,需要先进入该分支(git checkout XXXX(上面创建的分支名称) ),然后才能修改文件!!!!!否则会默认在主流程中进行修改的,因为上面的步骤是切回了主流程的。这一点需要格外注意!!!!

二、利用tag管理项目版本号

1. 什么是tag?什么时候应该创建一个tag?

项目的版本管理中,每当一个release版本发布时,需要做一个记录,以便以后需要的时候能查找特定的版本,这时候就用到tag这个功能.

Git中的tag指向一次commit的id,通常用来给开发分支做一个标记,如标记一个版本号。

2. tag和branch有什么区别?

  • branch是一个分支;tag是分支上的一个里程碑,一个点;

  • tag就是一个只读的branch;一般为每一个可发布的里程碑版本打一个tag;

  • 简单说比如branch有1.0,1.1等,其中1.0分支里可以有1.0.1,1.0.2这些tag;

  • tag就像是一个里程碑一个标志一个点; branch是一个新的征程一条线;

  • tag是静态的,branch要向前走;

  • 稳定版本备份用tag,新功能多人开发用branch(开发完成后merge到master)。

三、 相关操作命令

3.1 打标签

git tag -a 0.1.3 -m “Release version 0.1.3″
  • git tag 是命令

  • -a 0.1.3是增加名为0.1.3的标签

  • -m 后面跟着的是标签的注释

打标签的操作发生在我们commit修改到本地仓库之后。

3.2 提交

git add .
git commit -m “fixed some bugs”
git tag -a 0.1.3 -m “Release version 0.1.3″

3.3 提交标签到远程服务器上

git push origin master
git push origin --tags
  • –tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端。

  • 如果指定特性的taggit push origin [tagname]

3.4 删除标签的命令

git tag -d 0.1.3

3. 5 删除远端服务器的标签

git push origin :refs/tags/0.1.3

四、案例

这里没有merage和tag的处理

1、目前所有分支

d366cc111eb081b03e8d9ae3eb61bae2.png

2、查看当前分支

b3ef6d788bac448e94757f1367beaf1a.png

3、创建新分支git checkout -b login-temp(-b创建一个分支,checkout切换到这个分支)

90022f66fdbc8c77539e78a6fe4c12ad.png

4、git status检查login-temp分支的文件状态

0acb18c9827684e7ebd1406f0d2b53bd.png

5、添加到暂存区git add .,并查看状态git status

71b112040c7016baf79185f0703f61e7.png

6、提交到仓库, git commit -m 'finish login-temp',并查看当前状态,发现当前工作空间是干净的了

86099c56df9768895eac5bbbec67d4ff.png

7、此时远程仓库并没有login-temp的分支

62f27c8a2e4c301abdd88ca40a807a98.png

8、因为是第一次推送login-temp分支到远程仓库,所以需要git push -u origin login-temp(表示把本地分支login-temp推送到origin(云端仓库的别名)码云云端)

6e3b98490dd6fe42fae4211f4a451203.png

此时远程仓库已经有了login-temp分支,但是此时master主分支还是旧的

a94b1f9b24eff8f33d24cb66f9c2d5a2.png

9、合并到master主分支

切换到master主分支,git checkout master

合并代码git merge login-temp,此时master主分支本地代码是最新的,但是远程仓库master主分支还是旧的,需要push到远程仓库,

3fe165bf9bac36542865232158302578.png

99a1b5dc65c982fa49ea46610330f1fc.png

10、push代码到远程仓库,因为上边已经执行了git push -u origin login-temp,所以不用git push -u,只需要git push就可以了

4ef5a394a165a33084bcfdf90decf580.png

此时远程仓库master主分支已经是最新的了

f79e61db517575adf14fa2e845009404.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值