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 ...
随机推荐
- Solon Aop 特色开发(6)新鲜货提取器,提取Bean的函数进行定制开发
Solon,更小.更快.更自由!本系列专门介绍Solon Aop方面的特色: <Solon Aop 特色开发(1)注入或手动获取配置> <Solon Aop 特色开发(2)注入或手动 ...
- 【Redis】面试题 GEO地理位置信息
目录 面试 1 http协议详情,http协议版本,http一些请求头 2 GET请求和POST请求的区别 3 如何实现服务器给客户端发送消息,websocket是什么? 4 悲观锁和乐观锁,如何实现 ...
- 【django-vue】课程表数据录入 课程分类接口 所有课程接口 课程详情接口 所有章节接口 课程列表前端 课程详情前端
目录 上节回顾 APSchudler 双写一致性 今日内容 1 课程表数据录入 2 课程分类接口 2.1 路由 2.2 序列化类 2.3 视图类 3 所有课程接口(过滤,排序) 3.1 表模型 3.2 ...
- SSL 证书变革之时已至,这些变化你都清楚吗?
现代社会最离不开的是"安全",无论是生命.财产.数据还是其他任何事物都需要各种手段来保证安全,互联网自然也无法免俗.HTTP 协议作为无法加密数据,让所有通信数据都在网络中明文&q ...
- ME5A报表增强
一.ME5A报表新增长文本字段 结构中添加字段 在该方法下添加对应的取值逻辑 二.ME5A点击科目分配按钮界面添加字段 结构中添加字段 对应位置写取值逻辑 定期更文,欢迎关注 TRANSLATE wi ...
- CPP-移动语义
"Move semantics allows us to optimize the copying of objects, where we no longer need the value ...
- vivo 商城前端架构升级—前后端分离篇
本文主要以 vivo 商城项目的前后端分离经验,总结前后端分离思路,整理前后端分离方案,以及分离过程中遇到的问题及解决方案. 一.前言 vivo官方商城在2015年创建网上商城,开辟网络销售渠道,几年 ...
- Python pydot与graphviz库在Anaconda环境的配置
本文介绍在Anaconda环境中,安装Python语言pydot与graphviz两个模块的方法. 最近进行随机森林(RF)的树的可视化操作,需要用到pydot与graphviz模块:因此记录 ...
- 三、java连接mongo数据库
系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...
- 深度学习(三)——Transforms的使用
一.Transforms的结构及用法 导入transforms from torchvision import transforms 作用:图片输入transforms后,可以得到一些预期的变换 1. ...