GIt详解

一:GIT概述

1.Git是目前世界上最先进的分布式文件版本控制系统(没有之一)
版本控制 所谓的版本控制就是将一组文件的改动记录下来,形成版本历史,以便需要时恢复
2.GIT作用

1.代码共享
每位开发者可以使用 Git 将自己的代码上传到云服务器上,同时使用 Git 还可以将其他人上传的
代码下载到自己的电脑上,这样就实现了代码共享
2.回溯版本
在开发的过程中其实还会越到各种奇葩问题,比如自己心血来潮写了一段超级牛 × 的代码,本
着闲着也是闲着的思想,在这段代码的基础上又进行了调优,但是优没调成,代码还给整的不
能用了。鉴于马上要要交活了,这个时候就打算放弃,但是你发现原来能用的代码已经被改的
面目全非,不能用了,那这就太让人崩溃了。这个时候就幻想着如果这两小时什么事情都没有
发生该多好,如果能时间倒流该多好。 Git 告诉你,这事我能做。 Git 除了可以帮我们保存代
码,还可以保存每次上传的痕迹,每上传一次就做一次备份,上传 3 次就备份 3 次,每次备份
就相当于一个版本,任意时间可以通过 Git 查询曾经提交过的每一个版本对应的内容,这样就
可以随时恢复到之前任意上传时间对应的状态了


二:GIT相关概念

工作区:就是你在电脑里能看到的目录。
**暂存区:**英文叫 stage 或 index 。一般存放在 .git 目录下的 index 文件( .git/index )中,所以我 们把暂存区有时也叫作索引(index )。
版本库:工作区有一个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库。

2.GIT下载

以下是官网地址:

下载地址:https://git-scm.com/download

一直next即可

安装完成后随意打开一个文件右键出现下图,即可视为成功

在这里 我们需要点击 Git Bash Here打开命令界面,如下图:

三:GIT常用命令

1.初始化工作区:

命令 : git init 初始化

2.查看状态:

命令:git status 查看状态
红色代表当前没有提交到缓存区

  1. 工作区提交缓存区:

命令:git add 文件名

在使用 git status如果文件变成绿色,表示可以提交到本地仓库

4.缓存区提交本地仓库:

命令 : git commit -m '第一次提交'
说明 :-m 后面跟随的是为你提交的备注,建议不要乱写(例如aaa,bcd等)。
注意:如果是第一次提交
命令 : git config --global user.email '58948428@qq.com'
说明 : 指定邮箱
命令 : git config --global user.name 'Shuwq'
说明 : 指定操作者

拓展:

添加多个文件 git add [file1] [file2] ...
添加指定目录到暂存区,包括子目录 git add [dir]
添加当前目录下的所有文件到暂存区 git add .
add 时,一个个文件加比较麻烦,可以用下面的命令将所有变动同步至暂存区(新增、修改、删除)
git add -A
下面的命令是将所有修改和删除同步至暂存区,不包括新增
git add -u

5.工作区暂存区比较:

命令 : git diff 文件名

6.工作区本地库比较:

命令 : git diff HEAD 文件名

7.暂存区本地库比较 :

命令: git diff --cached 文件名

8.查看日志:

命令: git log 查看当前提交日志

注意:

在 log 中,每一个版本的前面, 都有一长串随即数字
b44a10787c2b2bcc7ceb9c39cf06309065518d4b ,这是每次提交的 commit id ,这是通过 SHA1 算法
得到的值, Git 通过这个唯一的 id 来区分每次提交

9.回退到指定版本:

命令 : git reflog 查看所有操作
注意:使用此命令时,出现在文件最前面的即为版本号
2.
命令 : git reset --hard <版本号> 回退到指定版本

10.工作区撤销修改:

命令 : git checkout -- <文件名称> 撤销工作区修改

11.撤销到工作区:

命令: git reset HEAD 撤销到文件名区

12.小结:

初始化工作区 git init
查看状态 git status
提交
工作区提交暂存区 git add 文件
暂存区提交本地库 git commit -m
差异比较
工作区缓存区比较 git diff 文件名
工作区本地库比较 git diff head 文件名
缓存区与本地库比较 git diff --cached 文件名
版本回退
查看日志 git log
回退到上一个版本 git reset --hard head^
查看所有操作日志 git reflog
回退到指定版本 git reset --hard 版本号
修改撤消
工作区撤消 git checkout
缓存区撤消到工作区 git reset head 版本号

四:分支地操作

分支概念:

分支就是多次提交串起来的一条线

分支操作命令:

1.创建分支:

命令 : git branch dev 创建 dev 分支

2.切换分支:

命令: git checkout dev 切换dev分支

3.合并分支:

命令:git merge dev 合并dev分支

4.删除分支:

命令 git branch -d 分支名

五:总结

使用命令行操作git,是最简单、最直接的方式,虽然现在有git的可视化工具,但要想掌握好git的使用,应该先从命令行入手,因为可视化工具的本质,依然是命令行的包装,掌握好命令行,有助于加深理解每一步命令操作的变化,然后再转向各种可视化工具就像如鱼得水般简单了。

相关推荐
YoungHong199211 小时前
Git删除本地已经merge到远程的分支
git
内核程序员kevin16 小时前
GitHub新手入门 - 从创建仓库到协作管理
git·github
南城巷陌19 小时前
node.js实现批量修改git项目的数据源
git·node.js·修改git项目数据源
动不了一点1 天前
关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细
git
joan_851 天前
git提交顺序为什么是:add,conmmit,pull,push
git
yangmc042 天前
二维前缀和 子矩阵的和
c语言·数据结构·c++·git·算法·矩阵·图论
W、明义2 天前
IDEA git提交时如何忽略某个文件或文件夹
java·git·intellij-idea
我是哈哈hh2 天前
Linux环境基础开发工具的使用_yum源_vim_Git控制器
linux·运维·c++·git·vim·1024程序员节
待磨的钝刨2 天前
四期书生大模型实战营(【基础岛】- 第1关 | 书生·浦语大模型开源开放体系)
linux·服务器·git·python
single5942 天前
c++学习:封装继承多态
开发语言·c++·git·vscode·学习