git有关commit的命令
2.更改最近一次(本次) commit 的提交信息:
当我们执行
git add .
git commit -m "0-0-1"
之后我们发现自己写的提交信息是不符合项目要求的,这个时候我们需要重新写,这个时候怎么办呢?
我们执行
git commit --amend -m '你新的提交信息'
3. 取消本次 commit,不撤销 git add .
当我们执行
git add .
git commit -m "第3次,在B站学的新的知识"
有些时候我想取消本次 commit ,不撤销 git add . 不删除工作区更改的代码
我们可以执行
git reset --soft HEAD^
ps:HEAD^ 表示上一个版本号;就是本次commit产生的版本号
4. 取消本次 commit 和 git add
当我们执行 git add .
git commit -m "xxxxx"
此时我们想撤销本次 commit 和 git add
git reset --mixed HEAD^
不删除工作区改动的代码,撒销commit,撤销git add
ps:HEAD^ 表示上一个版本号;就是本次commit产生的版本号
5. 删除工作区的代码,撤销commit,撒销git add (谨慎使用)
当我们执行 git add .
git commit -m "xxxxx"
此时我们想删除本次工作区的代码
git reset --hard HEAD^ (执行后,本次你新增的代码将会被删除,所以这个命令要谨慎操作哈)
ps:HEAD^ 表示上一个版本号;就是本次commit产生的版本号
6. git回退到某个commit
git reset --hard commit_id 退到/进到 指定的某一个commit的版本commit
什么时候回使用这个命令呢?
比如说:你某一天新增了代码,执行了
git add .
git commit -m "xxxxx"
拉取了远端的代码(这个时候你本来应该拉取远端develop代码的,结果拉取了远端release代码)
造成了本该不属于这个分支的代码出现在了这个分支上。怎么处理呢?(很明显这一步我们操作错了)
因此我们需要回退。这个时候我们就需要执行 git reset --hard commit_id
先执行 git log 找出这个 commit 的id号
然后执行 git reset --hard 3b13e6a8de75dfda6fd7a15d71e826285c79608e
这样就可以回退到我们需要的commit了。
git有关commit的命令的更多相关文章
- 『现学现忘』Git后悔药 — 34、git commit --amend 命令
目录 1.git commit --amend 命令说明 2.使用场景 (1)场景一 (2)场景二 3.git commit --amend 命令原理 这是我们Git中的第三种后悔药. 1.git c ...
- git plumbing 更加底层命令解析-深入理解GIT
原文: http://rypress.com/tutorials/git/plumbing 本文详细介绍GIT Plumbing--更加底层的git命令,你将会对git在内部是如何管理和呈现一个项目r ...
- Git中的merge命令实现中出现问题及其解决
Git中的merge命令实现和工作方式 2015年8月17日星期一 丹丹 git代码在合并两个分支的时候总是会出现一下的错误提示,不能正常的完成合并分支,错误提示如图所示: 但是在其他的终端是可以完成 ...
- [Git]09 如何为命令起外号
Git并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名.来看看下面的例子: $ git config --global ali ...
- git 学习笔记(常用命令)
1.新建一个文件,如果没有使用git add 命令将它提交到暂存区,那么这个文件就还没有被跟踪. 2.通过配置.gitignore文件可以指定要忽略的文件,被忽略的文件夹是不会被提交到暂存区的.所以这 ...
- github总结(4)--关于git reset --hard这个命令的惨痛教训
背景叙述: 前几天,上传自己的个站到git上的时候,手欠脑发晕的用了次git reset --hard xxxxxx 命令.由于只在线上传入了一个index.html页面(自己都不知道自己咋想的,就这 ...
- git撤销commit 并保存之前的修改
撤销并保留修改 参数 –soft # 先进行commit ,之后后悔啦 $ git commit -am "对首篇报告研究员字段改为author_name" 执行git log ...
- GIT学习笔记——常用命令
最近使用使用GIT较多,但命令很容易就忘记了,于是整理下,大多整理与一些文档和他人博客 在当前目录新建建一个纯git代码库 $ git --bare init 在当前目录新建一个Git代码库 $ gi ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- Git 和 Repo常用命令
这篇博客总结的也不错: git常用及进阶命令总结 Git与Repo入门 一.初始環境配置 git config --global user.name "John Doe"git c ...
随机推荐
- 知道ThreadLocal吗?一起聊聊到底有啥用
摘要:ThreadLocal是 java 提供的一个方便对象在本线程内不同方法中传递和获取的类.用它定义的变量,仅在本线程中可见和维护,不受其他线程的影响,与其他线程相互隔离. 本文分享自华为云社区& ...
- 云小课|VMware备份上云学习专列来了,快加入吧~
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:华为云云备份CBR ...
- DevSecOps 安全即代码基础指南
在过去十年里我们见证了越来越多的企业开始或已经采用云技术,这也意味着云安全的重要性也越来越高.当谈及安全威胁,McKinsey 的一篇文章表明,云上大多数漏洞都是由于配置错误导致而非外部攻击造成底层云 ...
- Linux 堡垒机命令行中如何上传下载文件(SecureCRT - SFTP)
通过堡垒机进入的 Linux 操作系统,无法直接使用 WinSCP 等工具进行文件的上传下载. 可使用 SecureCRT 先进入命令行模式 配置 配置 Linux 堡垒机的连接方式 连接 选择要进入 ...
- SpringBoot yml 小格子 变 小叶子
SpringBoot yml 小格子 变 小叶子 一般添加十多个模块后会出现这样的情况,正常情况下,看POM 文件里的 spring 引用是否异常 一般把 idea 关了再打开试试,有几次我是关了再开 ...
- 通过mongo-driver使用说明 GO 包管理机制
本篇记录通过GO语言操作mongodb,实现的流程包括: 初始化项目工程 容器方式安装mongo 调试运行和编译运行 go使用mongo的代码如下,go操作mongo的SDK是mongo-driver ...
- ME5A报表增强
一.ME5A报表新增长文本字段 结构中添加字段 在该方法下添加对应的取值逻辑 二.ME5A点击科目分配按钮界面添加字段 结构中添加字段 对应位置写取值逻辑 定期更文,欢迎关注 TRANSLATE wi ...
- Mac 开发 | IDEA 设置 Mybatis 的XML SQL 语句提示
1.IDEA 链接数据库 2.IDEA 设置数据库方言为链接的数据库方言 3.IDEA SQL 解析范围设置 4. 可以在mapper xml 中写select 测试了.
- 【每日一题】2.合并回文子串 (字符串处理 + 区间DP)
题目链接:Here 遇到这种数据范围较小的计数问题应该优先考虑dp,本题就是如此. 那么应该怎么样考虑转移呢? 首先最后C中的那个价值最大的子串一定是由字符串A的一个区间和字符串B的一个区间合并得到的 ...
- 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件
某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, "Dll加固混淆针对Unity游戏,对 ...