Git常用命

embedded/2024/10/19 0:15:54/

转自:https://blog.csdn.net/ahjxhy2010/article/details/80047553

1.查看某个文件或目录的修改历史

git log filename   #查看fileName相关的commit记录
git log -p filenam    # 显示每次提交的diff#只看某次提交中的某个文件变化,commit-id  文件名
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filenamegit log --oneline #每笔提交只显示一行# 查看当前目录下的提交记录,-n 是个数
git log -n 10 --stat .

 2.查看暂存区

git ls-files    //查看暂存区中文件信息

如何查看暂存区中bb.txt文件内容是什么?

git ls-files -s -- 文件名 或者直接 git ls-files -s
//然后通过Blob对象,查询bb.txt里面的内容:
git cat-file -p 6cef
git stash    //可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
//把工作区和暂存区的内容都存起来
git stash list       //查看暂存内容
git stash pop    //恢复的同时把stash内容也删了
git stash clear  //清空所有的内容
git stash drop stash@{0} //这是删除第一个队列

 3.commit

//打印所有commit记录
git log//查看修改的文件具体内容
git show commitId
//查看修改文件的列表
git show commitId --stat//查看某次commit中具体某个文件的修改:
git show commitId fileName//提交不会产生新的commitID
git commit --amend

4.分支操作

创建分支:git branch <name>切换分支:git checkout <name>或者git switch <name>创建+切换分支:git checkout -b <name>或者git switch -c <name>删除分支:git branch -d <name>恢复分支:git branch 你的分支名 SHA1值合并某分支到当前分支:git merge <name>

 6.删除文件的工作区所有更改-回退

% git checkout -- filename

情况1:在工作区做了修改,并未添加到暂存区,想撤销工作区的修改,用 git restore file;

情况2:在工作区做了修改,并用git add 添加到了暂存区,未提交;想撤销,分两步,1.先撤销暂存区的修改,用 git reset, 2.然后参考情况1撤销工作区的修改;

通过 git reset 文件名 命令可以撤销指定文件的 git add 操作,即这个文件在暂存区的修改。

通过 git reset 命令可以撤销之前的所有 git add 操作,即在暂存区的修改。

情况3:在工作区做了修改,且git add git commit添加并提交了内容,想撤销本次提交,直接用 git reset --hard HEAD^回退版本,即可保证工作区,暂存区,版本库都是上次的内容。(这样修改的代码会没有,慎用!)

git reset --soft HEAD^,只是将commit操作回退,add .和工作区内容都在。

删除所有工作区的修改:git checkout . // 丢弃所有修改或删除,不影响新增或未跟踪的文件。会递归下级目录.

只添加改动的文件,不添加删除和新建文件:

git add -A .  //添加有改动、新增、删除的文件
git add -u .  //添加有改动、删除的文件,不包括新增的文件(这个已确认不添加新增的文件,u即update的缩写)
git add . //看许多博客说它只添加编辑+新增的文件,不添加被删除的文件,但我试了下会添加删除的文件。。。

 7.统计

https://blog.csdn.net/beibeix2015/article/details/111868461

git log --author="author"    //查看某个人的所有提交,用于总结报告
git log --reverse  --author="author"    //逆序查看
git log --author="zhangphil" --oneline | wc -l    //总的提交次数

8.调整commit的顺序 

假设想把下述倒数第3个提交149fa24挪到第一个,

git rebase -i HEAD~3
#再通过dd剪切一行,通过p粘贴 

 注意上图展示的提交是倒序,最晚提交的在最下面。 前提至少这几笔提交没有先后依赖关系,否则不会成功。

git branch设置不less格式:git config --global pager.branch falsegit log设置不less格式: git config --global pager.log false


http://www.ppmy.cn/embedded/88798.html

相关文章

【运维指南】常见的防火墙端口操作

每当一个应用程序想通过网络访问自己时&#xff0c;它就会申请一个 TCP/IP 端口&#xff0c;这意味着该端口不能被其他任何程序使用。那么&#xff0c;如何检查开放的端口&#xff0c;看看哪个应用程序已经在使用它呢&#xff1f; Windows 查看端口使用情况和进程名称 netst…

ELK实现nginx、mysql、http的日志可视化实验

API接口&#xff1a; 软件内部代码之间通信的接口 代码的连接点 端口是对外提供访问程序的内容接口 filebeat&#xff1a; 1、可以在本机收集日志 2、也可以远程收集日志 3、轻量级的日志收集系统&#xff0c;可以在非java环境运行 logstash是在jvm环境中运行&#xff0c…

kafka 各种选举过程

一、kafka 消费者组协调器 如何选举 Kafka 中的消费者组协调器&#xff08;Group Coordinator&#xff09;是通过以下步骤选举的&#xff1a; 分区映射&#xff1a; Kafka 使用一个特殊的内部主题 __consumer_offsets 来存储消费者组的元数据。该主题有多个分区&#xff0c;每…

整体接口测试

文章目录 1.分类1.新增分类1.接口设计2.结果 2.更新分类1.接口设计2.结果 3.查询分类1.接口设计2.结果&#xff08;少了一个count字段暂时不改&#xff09; 4.查询大类下分类1.接口设计2.结果 5.删除分类1.接口设计2.结果 2.标签1.新增标签1.接口设计2.结果 2.更新标签1.接口设…

基于Django与spark的国漫推荐系统

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍每文一语 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 近年来&#xff0c;随着互联网的蓬勃发展&#xff0c;企事业单位对信息的管理提…

poetry shell

cd api poetry shellflask run --host 0.0.0.0 --port5001 --debug cd api poetry shell celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_tracecd web npm run start

【Linux】Ubuntu配置JDK环境、MySQL环境

一、 Ubuntu配置JDK环境 在Ubuntu系统中安装JDK 8可以通过以下步骤进行&#xff1a; 打开终端。更新包列表&#xff1a; sudo apt update安装OpenJDK 8&#xff1a; sudo apt install openjdk-8-jdk验证安装是否成功&#xff1a; java -version注&#xff1a;如果系统中安…

FPGA:串口通信发送模块

FPGA:串口通信发送模块 1、串口通信的概念及分类(1)串口通信概念(2)串口通信分类 2、UART协议(1)FPGA实现UART协议发送模块思路(2)Verilog设计文件a.波特率选择模块b.单个比特发送模块c.位状态计数器d.延时计数器e.数据保存寄存器f.位发送逻辑g.led翻转逻辑h.使能信号en_send逻…