【推荐】git 常用命令
1,撤销提交,提交还没同步到远程服务器
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m "本功能全部完成"
执行完commit后,想撤回commit,怎么办?
这样凉拌:
git reset --soft HEAD^ //上一个版本,也可以写成HEAD~1
这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,您写的代码仍然保留。
说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
至于这几个参数:
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
--hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
git add 添加了多余文件
git add . 表示当前目录所有文件,不小心就会提交其他文件
git add 如果添加了错误的文件的话
撤销操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX.py 就是对某个py文件进行撤销了
git reset HEAD file 即使对file文件夹进行撤销
3,git 删除stash 的内容
删除 stash 的内容 ,感觉整个世界都清净了::
其实就这么几行命令:
git stash list //查看stash 列表
如果得到这结果说明你的stash 是没有东西的
这代表有一个队列
然后你就可以 执行 git stash clear :注意这是清空你所有的内容
$ git stash drop stash@{0} 这是删除第一个队列
————————————————
4,回退对文件的修改,revert改动
git checkout -- 全部放弃
git checkout -- xxx 文件名
git status 时常看看状态
4. diff 和 patch
git format-patch -1 commitid 上一次提交
git am xxx.patch
某次提交以后的所有patch:
git format-patch 4e16 --4e16指的是commit名
从根到指定提交的所有patch:
git format-patch --root 4e16
某两次提交之间的所有patch:
git format-patch 365a..4e16 --365a和4e16分别对应两次提交的名称
某次提交(含)之前的几次提交:
git format-patch –n 07fe --n指patch数,07fe对应提交的名称
故,单次提交即为:
git format-patch -1 07fe
git format-patch生成的补丁文件默认从1开始顺序编号,并使用对应提交信息中的第一行作为文件名。如果使用了-- numbered-files选项,则文件名只有编号,不包含提交信息;如果指定了--stdout选项,可指定输出位置,如当所有patch输出到一个文件;可指定-o <dir>指定patch的存放目录;
2应用patch:
先检查patch文件:git apply --stat newpatch.patch
检查能否应用成功:git apply --check newpatch.patch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-07-06 Web IDL in Blink
2020-07-06 js的闭包
2020-07-06 C++ in Chromium 101 - Codelab 编程开始 bind 多线程 回调
2020-07-06 从chrome源码看JavaScript执行 dom
2018-07-06 分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】
2015-07-06 ubuntu 12.04 server + OPENACS(TR069)安装配置日记
2015-07-06 windows搭建openacs编译环境