B站看git视频做的笔记,链接如下
https://www.bilibili.com/video/BV1R4411D72C?p=1
一、基本命令
1、查看状态
git status
2、 将工作区的“新建/修改”文件添加到暂存区
git add [file name]
3、将暂存区的内容提交到本地库
git commit - m "commit message" [file name]
4、查看历史记录
git log
多屏显示控制方式
空格向下翻页
b向上翻页
q退出
优美的显示
git log --pretty=oneline
git log --oneline
git reflog 移动到当前版本需要多少步。
5、版本前进后退
⭐️1⃣️、基于索引值操作git reset --hard 索引
⭐️2⃣️、基于^和~操作(只能后退操作)
git reset --hard HEAD^^^(有几个^,就退几步)
git reset --hard HEAD~3 (~num,就退num步)
6、reset 命令的三个参数
hard参数最常用
git reset --soft
⭐️仅仅在本地库移动HEAD指针
git reset --mixed
⭐️在本地库移动HEAD指针
⭐️重制暂存区
git reset --hard参数
⭐️在本地库移动head指针
⭐️重置暂存区
⭐️重制工作区
6、文件删除(commit提交到本地库后)
前提:删除前,文件存在时的状态提交到了本地库。
删除
rm [file name]
git add [file name]
git commit -m "" [file name]
恢复
git reset --hard 索引
7、比较分支
git diff 【file name】
将工作区和暂存区文件进行比较
git diff 【本地库中历史版本】【文件名】
将工作区中的文件和本地库历史记录比较
不带文件名比的是多个文件
二、分支
1、优势
1、同时推进多个功能开发,提高开发效率
2、各分支在开发过程中,如果一个分支开发失败,不会对其他分支有任何影响
2、分支的操作
git branch -v #查看所拥有的所有分支,并且显示当前所在分支
git branch 分支名 #创建一个分支
git checkout 分支名 #切换分支
###合并分支:
###1、切换到接受合并的分支上
###2、执行merge操作
#例、将分支a合并到master
git checkout a
git merge master
git merge a
分支冲突:
两个分支中的同一文件的同一位置内容不一致
<<<<<<<<<<<HEAD (当前分支的内容)
.
.
.
==========
'
'
'
>>>>>>>>>>(另一个分支的内容)
手动修改文件后合并(commit不带文件)
1、编辑文件,删除特殊符号
2、把文件修改到满意程度,保存退出
3、git add 【文件名】
4、git commit -m “日志信息”
git commit -m "resolve conflict"
三、git和github
1、协同开发的冲突
⭐️如果不是基于远程库的最新版所做的修改,就不能推送,必须先拉取pull。
⭐️拉去下来以后如果进入冲突状态,则按照”分支冲突“操作解决。
(按照提示,找到冲突内容,手动修改,然后add➡️commit➡️push)