Git学习笔记 — 借鉴bilibili 鱼C-小甲鱼的教学视频

【注:本地我直接用的git可视化工具sourceTree,记录笔记方便在服务器操作】
鱼C-小甲鱼的同步教学视频,点击此处进行跳转
【如转载此文章,请标明出处 https://blog.csdn.net/weixin_43239068/article/details/107533322】

一、Git理论

  1. 查看git信息
git config --list

在这里插入图片描述
2. git记录的是版本变动,每个版本都是独立保存的
3. git是维护三棵树来实现版本控制的
1)Working(Directory):存放工作目录的地方
2)Stage(Index):临时存放的改动,即将存放到仓库的列表信息,是一个个的文件
3)Repository(HEAD):最终存放版本数据的位置,HEAD是最新版本的指向数据

在这里插入图片描述
3. Git的工作流程
1)在工作目录中添加/修改文件
2)讲需要进行版本管理的文件放入暂存区域
3)将暂存区域的文件提交到Git仓库
4. Git管理文件的三种状态
1)已修改(modified)
2)已暂存(staged)
3)以体检(committed)

二、命令

1.提交缓存到Git仓库

1.初始化一个空的仓库,用来跟踪管理版本迭代的,追踪这个文件夹里的文件来管理git项目的

git init

2.创建一个XX.md文件,让开发人员看到你的文档
3.讲需要进行版本管理的文件放入暂存区域

git add XX.md

4.将暂存区域的文件提交到git仓库

git commit -m "add a readme file"  //“”中间的信息是提交此次缓存的备注,方便应用

在这里插入图片描述

2.查看工作状态和历史提交

1.查看状态(可查看到所处分支,未暂存以提交的更改,未跟踪的文件,有没有需要提交的更改)

git status //如果出现下图的红色文件 代表此文件没有加入到缓存去  可用 git add XX.js 加入缓存区,加入后就会变成绿色了

在这里插入图片描述

2.最后提交的代码恢复回暂存区域

git reset HEAD <file>  //不写<file>将回滚最后一次提交的所有文件,如果指定了<file>将只回滚选中的文件

3.删除暂存的更改(未commit前)

git checkout <file> // //不写<file>将回滚所有更改文件,如果指定了<file>将只回滚选中的更改文件

4.查看历史提交记录

git log   //进入查看log后 可用 q  退出

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200723152803864.png

3.回滚代码

1.回滚最后一次提交的记录到暂存区域(commit后的代码)

git reset HEAD~   //~后面可加数字,如:(git reset HEAD~3),代表回滚最近3次的提交。本次命令写全是(git reset --mixed HEAD~),执行后 再用git log也看不到回滚的提交记录了

2.回滚到指定位置,之前的提交会全部回滚到暂存区域

git reset bc124d4a1ca // 'bc124d4a1ca'是git log 后显示的黄色提交序号,不需要写全,但是要保证写的快照ID是唯一,如果提交记录多避免重复,建议写全,

在这里插入图片描述

3.往前滚(在第二步的时候我回滚到了bc124d4a1ca的位置,之前的两次提交都没有了,但是只要我记住之前的快照ID,我依旧可以往前滚)

git reset --hard 3ac08fd9985e75 //‘3ac08fd9985e75’为上图最后的一次提交

4.diff 对比找不同

1.比较暂存区域与工作目录不同的地方,也就是所更改的地方

git diff

2.比较两个历史快照

git diff 快照1ID 快照2ID

3.比较当前工作目录和Git仓库中的快照(还没有git add前的)

1) git diff 要对比的快照ID //因为当前工作目录的更改还没有提交,所以没有快照ID,故只需要写要对比的快照ID就可
2) git diff HEAD //比较当前工作目录和最新提交的快照

4.比较暂存目录和Git仓库中的快照(git add后的)

1) git diff --cached //比较的是暂存区域和最新提交的快照
2) git diff --cached 要对比的快照ID //暂存目前和指定的Git仓库中的快照的对比

5.修改最后一次提交

1.修改最后那次提交的备注信息

git commit --amend //输入后会进入到新的页面,输入i进入到修改,更改最上层的提交备注,修改后输入 :wq 保存并退出,并且不会多log日志。因说明是中文导致乱码,可:q!强退出后 使用 git commit --amend -m '说明'  进行更改

6.删除文件

1.如果不小心删除文件 可-> git status查看删除的是哪个文件 -> git checkout -- 文件名就可以恢复了,[注意: – 左右各有一个空格]
2.git rm fileName //只是删除工作目录和暂存区域的文件 -> git reset --soft HEAD~因为删除后使用git status 依旧可以查看到被删除的信息,所以用–soft修改log的指针,把提交删除的记录去掉,但不会移动任何文件
3.git rm -f fileName //强制删除,如果暂存区和当前目录都有此文件,将会两个文件一起删除
4.git rm --cached 文件名 //删除暂存区域的文件

7.重命名文件

1.git mv fileName newFileName

8.分支

1.创建分支 git branch 分支名
2.切换分支

1) git checkout 分支名
2) git checkout -b 分支名 //创建并切换到此分支

3.所有分支,包括远程分支git branch -a
4.图形化显示提交记录

git log --decorate --oneline --graph --all //‘oneline’精简化的显示 ‘graph’图形化显示 ‘all’显示所有的分支,decorate后的顺序可随意

5.合并分支

1) git merge 分支名 //把指定分支合并到当前分支

6.删除分支 git branch -d 分支名 //-d 精简分支名,--d 全名

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值