学习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] 检出标签