目录
1 版本控制
1.1 什么是版本控制
1.2 为什么需要版本控制
2 Git概述
2.1 Git的工作机制
2.2 分布式版本控制工具与集中式的区别
2.3 Git是如何诞生的
3 Git的安装
4 Git常用命令
4.1 用户签名的设置和修改
4.2 查看用户签名的设置
4.3 初始化本地库
4.4 添加、删除文件到暂存区
4.5 提交文件到本地库形成历史版本
4.6 修改文件内容
4.7 修改当前版本
5 Git分支
5.1 分支是什么
5.2 使用分支的好处
5.3 分支的常用操作命令
5.3.1 查看分支
5.3.2 创建分支
5.3.3 修改分支
5.3.4 切换分支
5.3.5 分支的合并
5.3.6 删除分支
6 Git常见命令速查表
1 版本控制
1.1 什么是版本控制
版本控制就是一种用来记录文件内容变化,每次文件的变化作为一个版本,以便将来查阅特定版本修订情况的系统。
下面让我们以毕业论文的多次修改为例来了解版本控制的思想:
1.2 为什么需要版本控制
个人开发时版本控制的必要性不是很突出,当过渡到团队协作开发代码的时候,版本控制就显得格外重要了 。
下面以两人共同开发代码为例,每天的工作量都保存在服务器上。
没有版本控制工具
使用了版本控制工具
2 Git概述
Git是一个开源免费的分布式版本控制工具,它具有廉价的本地库即指Git的库在本地电脑的磁盘上。
2.1 Git的工作机制
- 工作区
工作区就是编写完代码之后,代码存储在磁盘中的位置。存储在工作区的代码是随时可以删除更新的,更新之后的代码可以添加(add)到缓存区。
- 缓存区
缓存区用来在工作区和本地库之间起到一个缓冲的作用,添加进缓存区的代码也是可以随时删除的。缓存区的代码可以提交(commit)到本地库。
- 本地库
提交到本地库的代码会生成该项目代码的历史版本,既然是历史版本这个库里的代码就无法随意更改了,只能基于这个版本的代码进行修改,就算修改后生成新的版本,这个历史版本依旧存在。
- 远程库
远程库又叫做代码托管中心,是将本地库的代码推送(push)到远程库,远程库又分为局域网和互联网两种,互联网远程库中的代码都是开源的,局域网中的代码只有连接到本局域网才能查看。目前比较常用的只要有以下三种:
GitHub:配合Git使用的 【国外代码托管中心】GitHub_扎哇太枣糕的博客-CSDN博客
Gitee:配合Git使用的 【国内代码托管中心】Gitee **墙裂推荐**_扎哇太枣糕的博客-CSDN博客
GitLab:基于局域网代码托管中心,若有需要可自行了解。
2.2 分布式版本控制工具与集中式的区别
参考博客:集中式和分布式版本控制系统的区别_贫下中农-CSDN博客_分布式控制
2.3 Git是如何诞生的
Git的产生也是十分有趣的,想要了解的朋友可以看看,万一哪天跟别人装13用得上呢。参考博客:git的诞生历史_u012028371的博客-CSDN博客_git的历史
3 Git的安装
Git官网:Git
点击后会自动下载适合你电脑的最新版本的安装包,双击安装包(除了选择安装目录位置,其他选项全都无脑下一步即可)。安装之后在桌面右键然后选择Git Bash Here,键入命令git --version返回安装的版本号即证明安装成功。
4 Git常用命令
Git中的所有命令基本上都和Linux中相同,你完全可以在Git中使用Linux的命令去秀翻室友。
4.1 用户签名的设置和修改
第一次使用时设置用户签名,用来区分不同的操作者身份,不然提交代码时可能会报错,如果想要对用户签名进行修改的话,只需要再次键入该命令修改后面的值即可。
git config --global user.name 自己设置的用户名
git config --global user.email 自己的邮箱
4.2 查看用户签名的设置
🔥使用命令查看
git config user.email
git config user.name
🔥文件内容查看
C盘-->用户-->asus--> .gitconfig文件(具体地址因电脑而异,我的是华硕所以说可能是asus)
4.3 初始化本地库
在想要使用git进行托管的项目文件下右键选择Git Bash Here,键入命令git init,即可成功初始化本地库。初始化本地库之后会在项目文件夹下生成一个.git文件夹(一个隐藏的文件夹),文件夹里的内容切勿作丝毫的修改。
使用ll命令对文件进行查看,ll -a 是查看所有的文件(包括隐藏文件)
4.4 添加、删除文件到暂存区
git add 文件名
git rm --cached 文件名
4.5 提交文件到本地库形成历史版本
git commit -m "日志信息" 文件名
查看大致版本信息
git reflog
查看详细版本信息
git log
4.6 修改文件内容
Git中的修改文件命令跟Linux中一样。修改后的文件不再存在于缓存区,想要提交修改后的文件到本地库必须再次使用add命令,将修改后的文件添加进缓存区才能继续提交。
vim 文件名
点击键盘上的insert键可以对文件进行修改,修改完成后点击键盘上的esc退出修改模式,再点击键盘的:键,然后键入wq点击ENTER键,即可退出文件修改。
4.7 修改当前版本
版本修改成功后工作区的文件内容也变成相应版本的内容。
git reset --hard 版本号
5 Git分支
5.1 分支是什么
在版本控制的过程中,如果需要同时推进多个任务,我们就可以为每个任务创建一个单独的分支,用来单独推进其中的一个任务。使用分支意味着程序员可以把自己的工作从主线上分离开来进行开发,开发自己的分支的时候,并不会影响到主线分支的运行。
以王者荣耀的每次更新为例,在版本1.0的时候我们想要在游戏中添加几个英雄并新增一个玩法,此时从主分支上拉取1.0的项目形成两个分支,同时开始研发。当添加英雄的任务完成之后,将其与主分支进行合并形成1.1版本,新增玩法则继续开发。1.1版本上线后根据用户反馈发现有一个bug影响游戏体验,于是我们拉取1.1的项目形成一个热修分支,将bug修改完成后与主分支进行合并形成1.2版本。此时新增的玩法终于完成,将其与主分支进行合并,由于此次是一次大更新,所以我们姑且将它定义为2.0版本。
所以现在能够理解为什么王者的每次更新都需要我们去下载资源了吧
5.2 使用分支的好处
并行推进多个功能的开发,提高开发效率。各个分支在开发的过程中,如果某一个分支开发失败,不会对其他分支产生任何的影响,失败后删除分支重新开始即可。
5.3 分支的常用操作命令
5.3.1 查看分支
git branch -v
5.3.2 创建分支
git branch 分支名
5.3.3 修改分支
修改分支实际上就是在该分支上使用vim命令对项目的文件内容进行修改,在一个分支上修改文件并不会对影响该文件在其他分支上的内容信息,切换分支后再查看该文件会发现文件内容并没有改变 。
5.3.4 切换分支
git checkout 分支名
5.3.5 分支的合并
git merge 分支名
5.3.6 删除分支
git branch -d 分支名