常用Git命令

常用Git命令

1. 新建文件并提交到本地库

1.1 常用命令

命令作用
git status查看本地库的状态(git status -s 简化输出结果)
git add [file]多功能命令: 1. 开始跟踪新文件 2. 把已跟踪的文件添加到暂存区 3. 合并时把有冲突的文件标记为已解决状态
git commit –m “xxx” [file]将暂存区的文件提交到本地库,-m 后面为修改的说明

1.2 实验步骤

①查看本地库状态,空空如也
在这里插入图片描述

②新建一个文件
vim test.logtouch test.log并编辑
此时再次查看git本地库的状态:
在这里插入图片描述

说明检测到了test.log文件,但是还无法追踪,建议使用add命令添加!

③将新建的文件,提交到暂存区:git add
在这里插入图片描述

④此时再次查看,发现暂存区已经有了文件
在这里插入图片描述

⑤将文件从暂存区提交到本地库
在这里插入图片描述

此时,会要求为刚刚的提交作一个说明!
也可以直接使用git commit –m “xxxx” [file]提交!
在这里插入图片描述

2. 将修改的文件提交到本地库

①修改文件
在这里插入图片描述

②此时查看本地库的状态
在这里插入图片描述

发现已经追踪到了,文件发生了修改!
③提交修改
先add,再commit!
在这里插入图片描述

④此时再查看本地库的状态
在这里插入图片描述

3. 忽略文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。
通常都是些自动生成的文 件,比如日志文件,或者编译过程中创建的临时文件等。
在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件的模式。
一个.gitignore 的案例:

# 忽略所有的 .a 文件 
*.a

# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件 
!lib.a

# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO. 不递归的忽略
/TODO

# 忽略任何目录下名为 build 的文件夹 递归的忽略
build/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt 
doc/*.txt

# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件 
doc/**/*.pdf

4. 版本切换

4.1 常用命令

命令作用
git log以完整格式查看本地库状态(查看提交历史)
git log --pretty=oneline以单行模式查看本地库状态
git reset --hard HEAD^回退一个版本
git reset --hard HEAD~n回退N个版本
git reflog查看所有操作的历史记录
git reset --hard [具体版本号,例如:1f9a527等]回到(回退和前进都行)指定版本号的版本,
git checkout – [file]从本地库检出最新文件覆盖工作区的文件(文件还没有提交到暂存区, 否则无效)
git reset [file] 或者 git restore –staged [file]从暂存区撤销文件
git restore 放弃在工作区的修改(还没有提交到暂存区)
git rm --cache [file]撤销对文件的跟踪.

注意:
1.在 Git 中任何已提交的东西几乎总是可以恢复的
2.任何你未提交的东西丢失后很可能再也找不到了

4.2 回退实验步骤

多次更新之后,希望回退到之前的修改版本

①查看更新日志
git log
在这里插入图片描述

如果日志过于凌乱,可以使用一个简单格式查看

②单行简单格式查看:
git log --pretty=oneline
在这里插入图片描述

③回退到历史版本
第一种: git reset --hard HEAD^
回退到上一个版本,如果想回退多个版本,就多加几个^
在这里插入图片描述

第二种:git reset --hard HEAD~n
回退多个版本
在这里插入图片描述

4.3 前进实验步骤

①查看所有操作的历史记录
git reflog
在这里插入图片描述

②回退到指定的操作
git reset --hard [具体版本号,例如:1f9a527等]
在这里插入图片描述

4.4 文件恢复

4.4.1 从本地库检出恢复

git checkout -- [file]
在这里插入图片描述

4.4.2 从暂存区撤回

当add一个文件到暂存区后,可以执行commit操作,也可以执行reset撤回操作!
①添加完成后,查看暂存区情况
在这里插入图片描述

git reset HEAD [file]
在这里插入图片描述

4.5 删除操作

如果删除一个已经在版本库中的文件!

①删除文件
在这里插入图片描述

此时查看,发现虽然在windows的文件系统中已经没有了:
在这里插入图片描述

但是,使用git status查看版本库的情况,发现:
在这里插入图片描述

提示,使用git add/rm 命令来更新此次操作!
之后,再次查看
在这里插入图片描述

发现变成了绿色,提交已经成功!

②提交更新
然后执行,提交操作:
在这里插入图片描述

再次查看git status,发现完成了此次操作!

4.6 比较文件

减号和加号分别代表两个对比的文件!

4.6.1 将工作区中的文件和暂存区进行比较

$ git diff <file>
在这里插入图片描述

4.6.2 将工作区中的文件和本地库当前版本进行比较

$ git diff HEAD <file>
在这里插入图片描述

4.6.3 查看暂存区和本地库最新提交版本的差别

git diff --cached <file>
在这里插入图片描述

5. 分支操作

5.1 常用命令汇总

命令描述
git branch [分支名]创建分支
git branch -v查看分支,可以使用-v参数查看详细信息
git checkout [分支名]切换分支
git merge [分支名]合并分支;将merge命令中指定的分支合并到当前分支上,例如:如果想将dev分支合并到master分支,那么必须在master分支上执行merge命令
git branch –d[分支名]删除分支
git checkout –b [分支名]新建并切换到新分支
git log --oneline --decorate --graph --all它会输出你的提交历史、各个分支的指向以及项目的分支分叉情况

5.2 分支的概念

不使用分支,就是人与人之间协作;
使用分支,就是小组与小组之间的协作;
从主干中拉取分支,开发完成,将工作,合并到主干。
在这里插入图片描述

5.3 分支常用操作

5.3.1 查看分支

git branch -v
在这里插入图片描述

5.3.2 新建分支

git branch [分支名]
在这里插入图片描述

5.3.3 切换分支

git checkout [分支名]
在这里插入图片描述

5.3.4 合并分支

git merge [分支名]
如果在dev分支上面,对一个文件做了修改,这个时候master分支上面对应的文件是没有修改信息的。
因此需要将分支合并!
在这里插入图片描述

注意:必须切换到master分支!

5.3.5 删除分支

git branch –d [分支名]
注意:必须切换到master,才能删除,不能自杀!
在这里插入图片描述

5.3.6 新建切换

git checkout –b [分支名]
在这里插入图片描述

5.4 处理分支冲突

待完成
编辑冲突的文件,把“>>>>>>>>>”、“<<<<<<”和“========”等这样的行删除,编辑至满意的状态,提交。
提交的时候注意:git commit命令不能带文件名。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值