Git实战演练,模拟日常使用,快速掌握命令

01 引言

上一期借助Idea,完成了Git仓库的建立、配置、代码提交等操作,初步入门了Git的使用。然而日常开发中经常面临各种各样的问题,入门级的命令远远不够使用。

这一期,我们将展开介绍Git的日常处理命令,解决日常问题,熟悉Git操作。

02 Git分支管理

一个新的项目开始,我们需要从主干分支上拉取开发分支。我们还是以上一期的project-test 仓库为例。

2.1 创建新的分支

按照下图所示操作:

创建dev-20250520分支:

Git命令:

# 创建新分支
git checkout -b dev-20250520 origin/main

# 切换分支
git checkout dev-20250520

查看所有本地和远程分支:
在这里插入图片描述

对应的命令:

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

# 查看远程分支
git branch -r

# 查看本地所有分支
git branch

2.2 提交代码

编写实例代码,直接提交到本地仓库。

其实也可以直接从控制台看看Git执行了哪些命令:

2.3 推送到远程仓库

首次推送到远程仓库会自动创建分支名的远程仓库分支。正常开发中我们的代码应该是直接从分支项目检出的,不需要创建远程仓库的分支。

远程仓库查看:

03 处理冲突

为了制造冲突,直接在GitHub上修改GitTest.java文件。

3.1 制造冲突

本地修改同一个文件(GitTest.java),提交本地仓库没有冲突,但是推送远程仓库时,就会出现冲突。

image-20250520171334778

3.2 解决冲突

冲突的解决保留历史分支记录,我们一般会选择Merge处理。

选择Merge之后,Git会自动从远程仓库拉取最新的代码,并在工作区标记处冲突的位置(如上图)。我们通过Idea继续Merge处理冲突。

左右两侧分别表示本地仓库和远程仓库,中间是处理的最终结果。黄色代表相对去中间工作区的改动的地方。点击箭头即可完成代码移动。

假设我们两边的代码都需要,我们只要一次点击箭头即可完成代码的合并(冲突的解决),再次提交到本地仓库。

代码提交到本地仓库之后,就可查看该分支的所有变更记录:

也可以通过命令查看:

# 查看历史提交记录
git log

命令结果:

最后推送到远程仓库即可。

04 代码回滚

代码回滚是一个优秀的设计。网上不是有这样的梗,产品做了第一版方案后给老板看,老板觉得不满意,然后来来回回的改,最后老板觉得还是第一版比较好。产品的心中一万只羊驼奔腾而过。

程序员同样面临的这样的场景,但是代码回滚完美的解决了这样的问题。

我们模拟三版提交方案。在GitTest.java增加提交的版本信息:

/**
 *  第一版提交方案
 */
private void firstCase() {
    System.out.println("第一版Case");
}

/**
 *  第二版提交方案
 */
private void secondCase() {
    System.out.println("第二版Case");
}

/**
 *  第三版提交方案
 */
private void thirdCase() {
    System.out.println("第三版Case");
}

假设我们要回到第一版的方案:

选中第一版记录,然后右键复制版本号

4.1 未推送远程的回滚

命令:

# --hard 底回退到指定提交,丢弃所有未提交的更改
# –mixed(默认):移动 HEAD 并重置暂存区,但保留工作区修改
# –soft:仅移动 HEAD,保留工作区和暂存区
git reset --hard 回退的版本号

结果迅速到达第一版:

4.2 已推送至远程的回滚

命令:

# 回退到指定的版本号
git revert 版本号

如果是相同的位置的代码修改可能会出现冲突,正常解决即可

解决之后,需要重洗提交代码。

05 合并分支

代码合并阶段一般是出现在开发分支过久,迭代多次需要合并新分支,另外一个就是发布代码之后,必须将代码合并到主干上。

案例中我们一直在dev-20250520开发,我们将开发分支合并到主干(main)分支上。首先我们需要需要切换分支到主干分支上。

切换分支的命令:

# 切换到主干分支上
git checkout main

Idea的操作:

切到主干分支发现并没有GitTest.java的文件:

分支合并:

合并之后代码会之间保存到暂存区,直接推送到远程即可:

06 小结

今天就一个简单的模拟实战项目,练习了Git日常处理问题的命令。如果有什么更加有趣的命令,评论区留言讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值