学习git之前 先要了解一下版本的概念

在我们使用一些软件或编辑文档的时候 总会有很多个版本 每个版本之间会有些许的差异
为什么要有版本呢 我个人的理解是这样的 拿写期末论文为例子
老师给了我一个题目 比如是xxx报告 在编写这个报告的时候 我写了五点内容在这个报告中 然后逐步扩写 中途对五点中的内容进行修改 快要完结的时候 突然觉得最初的内容比较符合 结果找不到最初的内容了 这就导致 这个报告得继续修改 如果开始就将第一版保存 在此基础上更改 逐步添加到第二版第三版 那么就可以很好的进行一个版本管理
git简介
git是一个分布式的版本管理工具,通常用来对软件源代码进行管理,通过存储到git仓库来管理这些源代码
仓库分为本地仓库和远程仓库
本地仓库:我们自己电脑上的git仓库
远程仓库:远程服务器上的git仓库
怎么理解呢 ? 可以参考流程图 如下:

commit:提交代码到本地仓库
push:推送本地代码到远程仓库
pull:拉取远程代码(拉取更改部分的代码)
git配置
安装完git 之后 我们需要进行一个用户名邮箱的设置 命令如下:
git config --global user.name "用户名"
git config --global user.email "邮箱"
查看配置信息
git config --list
获取git仓库
使用git前需要到官网下载git
第一种方法:
一个文件夹下只能有一个本地仓库
新建文件夹 执行命令 git init 之后这个文件夹就是我们本地仓库了,当文件夹内出现 .git 就代表仓库初始化完成,如果没出现记得查看自己的文件夹是否被隐藏了
第二种方法
工作中都用第二种方法
远程取克隆git仓库
命令:git clone 远程仓库地址 就可以克隆远程仓库了
基本概念
了解git的一些原理知识

工作区:.含有.git文件夹的区域就是工作区 这里面有很多文件 用于存放代码
暂存区:临时保存文件
版本库:.git隐藏文件夹就是版本库 存储配置信息等
代码要先git add到暂存区 在git commit 才能上传到本地仓库
我个人理解是加了一层缓冲 比如添加的修改想要在修改就可以撤回 起到一个缓冲作用

文件状态:
git 工作区文件有两种状态分别是
untracked 未跟踪 未被纳入版本控制
tracked 已跟踪 被纳入版本控制
1.Unmodified 未修改状态
2.Modified 已修改状态
3.Staged 已暂存状态
本地仓库命令操作
常用本地仓库命令:
git status 查看文件状态

随后新加入一个2.txt文件 再去查看状态 此时显示的是 2.txt没有添加到暂存区
随后执行git add 2.txt将添加到暂存区 在执行 git status 此时显示的是文件提交到暂存区

然后修改2.txt 再次执行 git status
显示的是 暂存区文件被修改

再次添加暂存区然后提交 显示没有提交内容了

git add 将文件添加到暂存区
git reset 取消暂存区或是
git reset --hard [版本号] 切换版本
git commit 将暂存区的文件提交到版本库
git log 查看日志
远程仓库操作
远程仓库命令操作
git remote 查看远程仓库
git remote add 添加远程仓库
git clone 从远程仓库克隆
git pull 从远程仓库拉去
git push 推送到远程仓库
分支操作
分支概念:
分支是一个可以从主线分离开,以免影响主线开发
命令:
git branch 查看分支
git branch [name] 创建分支
git checkout [name] 切换分支
git push [shortname] [name] 推送至远程仓库分支
git merge [name] 合并分支
git branch -d [name] 删除分支
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
标签操作
标签相当于快照一样 记录那一个时刻的代码 不会改变
命令:
git tag 列出已有标签
git tag [name] 创建标签
git push [shortname] [name] 将标签推送至远程仓库
git checkout -b [branch] [name] 检出标签