Git使用心得体会
作为一个跨专业的软件工程学生,我对于软件工程方面的许多知识都有着不足之处,对于Git方面,我之前也只是听说过这是一个版本管理工具而已。在孟宁老师的课上,我第一次接触到Git的一些常规操作与基本知识。下面,我来讲讲我所学习到的git基本操作。
本文参考https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg
准备工作:
下载并安装VS Code。
安装VS Code时已经附带安装了Git,建议Windows用户通过安装VS Code完成Git软件包的安装。
Git基本操作如下图:
场景一:Git 本地版本库的基本用法
1.初始化本地版本库
在VS Code中使用Ctrl+o打开文件夹,如果文件夹中没有Git存储库可以使用Ctrl+`打开命令终端,输入git init命令对Git存储库进行初始化。
初始化之后我们来查看一下.git目录下的内容。首先我们得了解.git目录是一个隐藏目录,我们需要点击查看隐藏目录才能看到。
2.新建一个test.md文件,使用 git add命令将文件加入git暂存区。
可以看到,文件后方的图标由原来的U变成了A,表示该文件已经添加至暂存区。
3.使用git status查看工作区
可以看到test.md已经存在与工作区之中。
4.使用git reset将文件移除出暂存区
可以看到文件后方发图标又变成了U,表示文件已经从暂存区中移除,同时发现git status命令无法查找到该文件
5.使用git commit命令将文件提交到本地仓库
其中-m用于输入注释,常用来表示自己这次提交的代码增添了什么功能
6.使用git log查看所提交的文件记录
在这里我们可以看到文件提交的时间与注释
7.使用git reset --hard HEAD^回到上一个版本
可以看到,已经回到了上一个版本的时候。
场景二:Git 远程版本库的基本用法
1.在github上复制一个仓库的地址作为远程仓库地址,使用git clone命令进行克隆
2.将仓库地址设置为远程仓库地址
3.使用git pull命令获取github上的跟新内容
4.新建一个文件1.txt,使用git push命令提交到github上
场景三:团队项目中的分叉合并
有了前面的基础知识和技能之后,我们可以考虑更复杂一些的团队项目合作的工作流程。如果团队项目像场景二的方法一样多人同时向远程origin/master分支频繁提交代码,一来可能会有诸多冲突合并的情况发生;二来整个git log提交记录中多个开发者或多个代码模块的commit是交错排列在同一条时间线上,不利于回顾查看和回退代码,让跟踪代码的成长轨迹变得异常困难。
我们需要考虑新的方式来能够独立维护不同的开发者或者不同的功能模块的代码,让一段连续的工作在commit日志的时间线上呈现为一段独立的分支线段,只在关键节点处进行分支合并。
1.使用git checkout -b创建分支
2.使用git checkout切换分支
3.使用git merge将分支合并
如果要保留mybranch分支为一段独立的分支线段,则需要使用--no-ff参数关闭"快进式合并"
场景四:Git Rebase
有时候我们的提交只是为了保存,并没有什么实际的意义,这是可以使用git rebase合并多次提交,以使得符合朴素的版本管理哲学。
首先查看修改记录
然后使用 git rebase -i head^^删除second commit
这时可能会出现冲突
使用git rebase --continue命令继续
小结:
初识git感觉git的功能还是很有实用价值的,当项目越来越复杂的时候,git的作用越能体现出来。这次只是学习了git的几个简单命令,后续会对其进行更深入的学习。