【Git & GitHub】第一章 —— Git初体验以及版本控制的上手到熟练(2)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Git & GitHub】第一章 —— Git初体验以及版本控制的上手到熟练(2)

2.3)Git 的九个基本操作


直接跟着我的操作走一遍,差不多就对Git的基础操作蛮清楚了。


2.3.1)前五个基本操作


微信图片_20221020150959.png

拓展:

此处也可以积累一个关于Linux指令创建文件夹的操作

mkdir GitDemo

微信图片_20221020151104.png

进入该文件夹

cd gitDemo

微信图片_20221020151132.png

① 初始化操作 —— git init


git init


//

这个操作将在此文件夹下创建一个名为的新子目录.git,其中包含所有必要的存储库文件—— 一个 Git存储库骨架。这是Git 能够对该该文件夹进行操作的基础。

微信图片_20221020151220.png

现在手动创建一个文件demo.txt,并在其中编撰一定内容,用于后续的演示。


image.png② 查看状态 git status


git status

学会查看状态其实蛮重要的,因为Git 通过窗口显示的出来的提示可以很好地指导我们进行后续的操作的

微信图片_20221020151525.png

③ 暂存 git add


git add

image.png咱们重新看看状态,看看有没有什么提示喃

微信图片_20221020151615.png那么就老老实实进行提交啦


④ 提交 git commit


提交的指令是这种的

git commit -m"本次提交想要备注的内容,可以使用英语,也可以使用中文"

微信图片_20221020151641.png

假如没有写 -m"需要备注的内容",此时会进入大多数人不太熟悉的Vim编辑窗口了。

微信图片_20221020151714.png

可以参考这位博主的博客了

Git Vim编辑器输入内容、保存和退出操作

image.png命令模式

编辑模式:

微信图片_20221020151814.png

键入:wq表示保存并离开,然后直接回车就可以保存并退出。微信图片_20221020151934.png

⑤ 查看日志 git log


git log

微信图片_20221020152016.png

倘若只是想用版本号(那串很长的哈希值)来锁定到指定的版本,可以使用

git log --pretty=oneline

微信图片_20221020152114.png

拓展:


2.3.2)用上述五个基本操作实现版本控制


① 模拟开发,在原本的版本上进行再次开发


微信图片_20221020152148.png

② 因为内容变更,需重新进行 add 以及 commit


微信图片_20221020152200.png

完成commit微信图片_20221020152227.png

拓展:当查看的日志开太多了,会出现这种无法输入的界面。可以键入q解决

微信图片_20221020152318.png

③ 发现新版本不好用,打算回退到未开发的第一代版本


依旧是模拟开发,此时发现新更新的这个版本不好用,想要回退到第一代的版本,此时想要回退到之前的版本,或者回退到某个指定的版本。


方法一:

git reset --hard 版本号

版本号可以通过git log 和 git reflog查看,然后获得到想要的版本版本号

微信图片_20221020152405.png


实现版本控制

这是在Git Bash 获得的反馈

image.png实际回到demo.txt文件,可以发现,文件确实是被修改过了,回到了自己想要你的版本微信图片_20221020152509.png

 

方法二:


/

git reset --hard HEAD^      线性回退几次,就打几个^

方法二需要理解HEAD指针,结合下方的图理解。

HEAD头指针指向的当前分支最新的版本号。

其具体的实现可以通过这张图俩阐述

微信图片_20221020152550.png

我现在去手动更新两边版本的内容。然后用于演示

拓展:倘若觉得频繁使用 git add 和 git commit -m 有点麻烦,可以考虑使用合并的方式。微信图片_20221020152629.png

将更新版本都提交到Git的版本库中进行管理了

微信图片_20221020152640.png

【演示git reset --hard HEAD^】

image.png【演示git reset --hard HEAD^^】

image.png

这里有个小细节,咱们对比两种版本控制的代码再查看日志的结果:

使用git reset --hard HEAD会修改提交信息

使用git reset --hard 具体版本号不会修改提交信息

image.png

到这里为止的操作,就是切实的结合Git对项目的各个版本进行时时的控制。

剩下的克隆操作、拉取操作、拉取合并操作、推送操作需要结合GitHub或者Gitee来演示会更加生动,那咱们下一篇先着手初步认识这种代码托管平台吧。




4)总结


初始化,查看状态,暂存,提交和查看日志等五个操作,是基础中的基础啦,务必练熟。



相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
3天前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
7 1
|
12天前
|
Linux 项目管理 开发工具
如何利用Git进行高效的版本控制
【7月更文挑战第3天】Git是一个强大的版本控制系统,通过掌握其基本操作、遵循最佳实践并学习一些高级技巧,你可以更加高效地进行版本控制,提升开发效率和代码质量。希望本文能为你的Git之旅提供一些有益的帮助。
|
17天前
|
开发工具 git
Git进行代码版本控制
Git进行代码版本控制
|
25天前
|
Linux 持续交付 开发工具
版本控制系统的选择:Git vs. Mercurial
【6月更文挑战第20天】Git vs. Mercurial: 两者都是流行的DVCS,Git由Linus Torvalds创建,以其速度和复杂分支管理著称,适合大型项目和有经验的开发者。Mercurial,由Matt Mackall开发,以其简洁命令行和易用性吸引初学者。Git社区更大,扩展更丰富,而Mercurial在某些场景下可能更直观。选择取决于项目需求、团队经验和偏好。
|
26天前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
30 5
|
3天前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
4 0
|
27天前
|
开发工具 git
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
25 1
|
19天前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库
|
26天前
|
安全 网络安全 开发工具
【GIT】GitHub添加ssh密钥
【GIT】GitHub添加ssh密钥
25 0
|
26天前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
32 1