[转]git commit之后,想撤销commit】的更多相关文章

撤销.修改commit 写代码过程中,如果已经git add [files] git -m commit [files],没有push代码到远程仓库,想撤销commit,可以根据实际情况,使用以下参数. 参数解释 --mixed 这个为默认参数 意思是:不删除工作区改动的代码,撤销commit,并且撤销 git add . 操作. 即 git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的. --soft 保留执行了 git commit 命令时的代码改…
本文转自:http://www.cnblogs.com/lfxiao/p/9378763.html 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留. 说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你…
原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留. 说一下个人理解: HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 至于这几个参数: --mixed 意…
================实际操作============================== 提交到git上撤回 git reset head^1 提交到本地 撤回 git reset --soft HEAD~1 ================实际操作============================== 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这…
写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 可以执行如下命令进行撤销 commit: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留. 说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 至于这几个参数…
有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 reset 来操作.比如你刚写了一个 commit: 写完回头看了看,你觉得不行这得重新写.那么你可以用 reset --hard 来撤销这条 commit. git reset --hard HEAD^ HEAD^ 表示往回数一个位置的 commit`,上篇刚说过. 因为你要撤销最新的一个 commit…
一. 创建与合并分支 1. 从master分支创建dev分支并切换到dev分支: git checkout master git checkout -b dev 其中,git checkout -b dev 等价于: git branch dev git checkout dev 查看本地当前的分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分支:  git branch 查看远程全部的分支,白色的表示本地有的,红色的表示本地没有,仅在远程存在: git branch -a 2.修改代…
请参考该文章:http://www.cnblogs.com/ningkyolei/p/5026011.html 场景: 不小心commit了一个不应该commit的修改,但是还没有push,想撤销那个commit 命令: a)git log b)git reset --hard commit_id 具体步骤如下: 1.模拟commit一个不应该commit的修改: 1.1.原来的list.view.js文件 1.2.原来的待push列表 1.3.按以下方法修改list.view.js文件 1.4…
在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id 完成撤销,同时将代码恢复到前一commit_id 对应的版本 3.git reset id 完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改--------------------- 作者:在路上的码农 来源:CSDN 原文:https…
执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 解决方案: 使用命令: git reset --soft HEAD^ 这样就成功撤销了commit,如果想要连着add也撤销的话,--soft改为--hard(删除工作空间的改动代码). 命令详解: HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1 如果进行两次的commit,想要都撤回,可以使用HEAD~2 --soft 不删除工作空间的改动代码 ,撤销commit,不撤销git add…
某同事执行git commit 时太兴奋,执行了 git commit --amend 慌了,不敢编辑上一个commit的description了,直接选择了wq退出,然而git毕竟强大,默认将改动合并提交并覆盖了上一个commit生成了一个新的commit id,这下更慌了,上一个commit id在git log里没了,没了,没了 此时只有两个字,奔溃 好在git有撤销方法,下面的代码拿来举例. 当前代码仓有如下文件: $ ll total 4 -rw-r--r-- 1 ****** 105…
Git: 教你如何在Commit时有话可说   不知道大家有没有观察过那些在Github上Star数位居前列的项目,它们无一例外的都拥有完善的文档体系和高覆盖的测试用例.要做到完善没有规范肯定是不行的,代码要有代码的规范,协作要有协作的规范.我们今天要说的主题就是关于Git中记录Commit Message的参考规范.先来看两张图,一张来自国际知名项目,一张是国内某知名项目(笑). 国际知名项目AngularJS 国内知名项目MingGeJS…
在git使用中要如何取消commit但是还未push的操作? 通常,我们对修改的文件会先git add .,然后git commmit -m "注释",但是如果commit错了,想要取消commit而且还要保留已经add的文件,那么应该怎么做呢? 可以使用这个命令来取消commit: git reset --soft HEAD^ 这样就会回到刚刚add之后的状态了(HEAD^是上一个版本的意思,如果要回退到前n个,那么就是HEAD~n) 关于git reset的一些参数如下: --so…
目录 git rebase逻辑 git editor的修改 处理git-rebase-todo文件 Python实现 当我们有多个commit或者从开源处拿到多个commit时,想合成一个commit,并保留每个commit的message时,大家都知道用"git rebase -i"可以解决,但这种方式需要手动进行操作,假如我们要处理的比较多,就想要自动化来处理,下面介绍下怎么自动化处理. git rebase逻辑 当我们"git rebase -i"后,git在…
标签: git 缘由? 有一次被人问到怎么把一个分支的所有commit按一个commit合并到主分支上,当时一脸蒙B,平时开发都是直接merge,很少考虑到这种问题,于是特意搜索了相关资料. 场景 其实在开发中,我们永远都是保留一个主master分支干静,我们都是会重新拉一个dev分支做开发,遇到BUG就会拉BUG分支解决BUG,但是在分支上做开发和解决BUG不只会有一个提交,而合并到主干上也没有必要让别的开发看到冗余的commit信息,其实别的开发只要需要看到这个分支是解决了什么问题或者开发了…
 随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-patch命令,那怎么使用呢? 笔者以下就以实际样例来记录一下这个过程: /*****************************************************************************************************/声明:本博内容均由http…
 参考: [转] git merge 将多个commit合并为一条之--squash 选项 git checkout master git pull origin master # 本地先拉取最新的master,最后目标是要merge到master git branch feature--merge # 从master创建一个新的专门用来做merge的新branch:feature--merge git checkout feature--merge git merge --squash fea…
原文地址:https://blog.csdn.net/chzphoenix/article/details/38090349 近期在使用git,最开始在idea界面操作,后来要求用命令行.刚开始还不是很习惯,感觉很麻烦,用了几天后感觉爽极了! 其实git的命令也不是很多,熟悉一段时间就差不多能顺利使用了.使用过程中遇到了各种各样的问题,有些小问题就在这里集中总结一下. 1.idea命令行.git安装后就自带终端git bash,使用起来很方便.但是用idea开发,开发后还要在相应文件夹下打开gi…
当我们修改完代码,提交了一个 commit,然后发现改错了,怎么修正?下面分两种情况来讨论:修正最近一次提交,和修正历史多个提交. 修正最近一次提交 如果发现刚刚提交的内容有错误,当场再修改一下再提交一个新 commit 不就可以么?可以是可以,不过还有一个更加优雅和简单的解决方法: git commit --amend "amend" 是"修正"的意思.在提交时,如果加上 --amend 参数,Git 不会在当前 commit 上增加 commit,而是会把当前…
合并多次记录 1. git log找到要合并的记录的数量. 2. git rebase -i HEAD~5 将最上面一个的记录选为pack,下面记录都改为s. ================= 删除某次commit提交记录 在使用git中,如果要删除之前某次commit的记录,可以用git rebase完成. Git rebase 步骤: 1.git log, 找到想要删除的某次提交的commit id: 2.git rebase -i "commit id"^,注意指数符号^是定位…
git rebase 合并多个commit 方法 在开发过程中,有时一个任务会分几次commit提交,这样可能对于有些分支要cherry pick时会比较麻烦,这是我们可以通过git rebase 将几个commit合并为一个commit,再推送到远端 git rebase -i 这里指的是通过交互的手段执行git rebase, 也是合并commits 的好方法 例子 假设当前git日志文件内容是这样 ➜ test git:(master) git log --oneline bb44232…
[TOC] 修改commit历史的前提 修改历史的提交是可能有风险的,是否有风险取决于commit是否已经推送远程分支,未推送,无风险,如果已推送,就千万不要修改commit了. 修改commit历史,不是在原有commit结点上修改,而是用一个新的结点替换原来结点,所以,修改后commit id是不样的. 所以修改commit历史的前提是,提交未推送远程仓库!提交未推送远程仓库!提交未推送远程仓库!,重要的事情说三遍. 修改最近的一次提交 修改最近的一次提交非常简单,通过git commit…
1. 执行git log -3 --graph A,查看A分支下的commit: 注:commit 后面的hash值代表某个commit,这里把”82f1fb7138c5860cc775b4b5ea71c5d19c4e6497“这个commit提交到B. 2. 执行git checkout B,切换到B分支; 3. 执行 git cherry-pick 82f1fb7138c5860cc775b4b5ea71c5d19c4e6497,该commit便被提交到了B分支; 4. git push /…
一.为什么需要合并多个 commit 呢?   有时候,我们开发一个功能. 修修补补 commit 了很多次,过多的 commit 会显得很复杂. 不够直观,不能比较清晰查看那些 commit 是对应的那个功能. 所以,在这种情况下.我们需要整理一下 commit 的记录,让我们更好的管理提交记录.     二.具体合并多个 commit 的流程.   1.development 分支有四次 commit ,然后我准备合并 "add a.php" 和 "add b.php&q…
git rev-parse master^{commit} 是什么意思 显示master提交的SHA1值 if you want to make sure that the output actually names an object in your object database and/or can be used as a specific type of object you require, you can add the ^{type} peeling operator to th…
在使用git及github时,遇到一个问题:commit了一个超过100M的大文件,然后在push时失败,然后就再也无法push了,本地大文件删除了,再commit,再push也还是提示有大文件提交. 这是一种非常常见的问题,是典型案例,原因是本地对大文件的commit记录还在,后来虽然remove了大文件并再次commit,但并不能抹除第一次对大文件的commit记录,因此push时相当于依次执行 commit 大文件,commit remove大文件操作,故失败. 解决方法: 1,先保存好本…
git中修改上一次提交的commit的message git commit --amend -m "你的新的注释" git push -f 多个commit https://www.jianshu.com/p/ec45ce13289f…
一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 git revert 撤销本次提交. 二.指令讲解 Git checkout 首先我们对文件的一个修改,对master.txt进行了修改 修改结果我们利用上面的知识来进行查看. 新增加了Test这么一段话,如果我们想要将工作区的内容添加到暂存区会使用git  add这个命令,如果我们想要还原工作区内容…
一.撤销指令 git checkout还原工作区的功能 git reset  还原暂存区的功能 git clean  还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 git revert 撤销本次提交. 二.指令讲解 Git checkout 首先我们对文件的一个修改,对master.txt进行了修改 修改结果我们利用上面的知识来进行查看. 新增加了Test这么一段话,如果我们想要将工作区的内容添加到暂存区会使用git  add这个命令,如果我们想要还原工作区内容…
撤销更改 相信你已经了解了 git 的基本概念,也清楚了工作区,暂存区和版本库的关系,现在让我们用所学的知识继解决实际问题吧! 背景 正常看得见的目录是我们最为熟悉的工作区,在工作中不可能总是100%的精力,难免会犯错,尤其是下午犯困,晚上加班更是如此.下面列举了常见的一些场景 场景一: 工作区出现意外更改且尚未添加到暂存区 北京时间现在是晚上10点钟,你正在赶制一份工作报告,尽管心中一万个不愿意,还是不得不做. 开始模拟意外更改前,先查看一下 test.txt 文件相关信息: # 列出当前目录…