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 命令时的代码改…
有的时候,改完代码提交 commit 后发现写得实在太烂了,连自己的都看不下去,与其修改它还不如丢弃重写.怎么操作呢? 使用 reset 撤销 如果是最近提交的 commit 要丢弃重写可以用 reset 来操作.比如你刚写了一个 commit: 写完回头看了看,你觉得不行这得重新写.那么你可以用 reset --hard 来撤销这条 commit. git reset --hard HEAD^ HEAD^ 表示往回数一个位置的 commit`,上篇刚说过. 因为你要撤销最新的一个 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 commit -m ‘commit message info’解决办法,很简单,只需执行git reset HEAD~这条命令即可,即能保证你原本的修改还在,也能撤销本次提交失误. 这种撤销上一次提交是比较好的,如果是版本回退的话也能解决这个问题,但是版本回退只适合于你本次提交并没有改动什么或者改动不大的情况.如果你改动太多,版本回退意味着着你需要重新复制一遍,当然了,解决这种问题的办法有很多,分支开发的方式也能解决这种问题. 顺便补充到,如果git add 失误呢…
写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 可以执行如下命令进行撤销 commit: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留. 说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 至于这几个参数…
使用git reset --hard 是将磁盘文件也删除 时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge.甚至一些很小的操作,例如删除一个分支,我都担心数据丢失. 不 久之前,我在做一些大动作(rebasing)之前,我总是备份整个版本库,以防万一.直到最近我才发现git的历史记录是不可修改的,也就是说你不能更 改任何已经发生的事情.你做的任何操作都只是在原来的操作上修改.也就是说,即使你删除了一个分支,修改了一个提交,或者强制重置,你仍…
在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…
有时候commit后发现commit信息错了或者是添加了不想commit的内容,但还没有push到远程仓库 这个时候 git reset --soft [commit_id] 就可以回滚到某一个commit,然后保留下修改的内容…
下面以现实场景作为情境. 基础知识,理解git中的几个区域 本地代码已经add,未commit 修改本地工作目录中的readme.md,添加文字"第一次修改" 然后查看下状态 ➜ experimentation git:(master) ✗ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git ad…
git 开发时的使用流程,从同事那里学习的, 第一步,先建立一个新的分支,可以在GITLAB或通过命令git checkout -b newbranch 或通过IDE插件 第二步,让项目切换到该分支,然后在这个分支上进行开发 第三个,提交,然后提交MERGE REQUEST,合并到DEVELOP分支 这样操作有什么好处? 这样更清楚,减少了多个任务并行开发时经常MERGE到DEVELOP的次数,同时减少了冲突的次数. 问题1,如何撤销COMMIT(还没有PUSH)因为我commit到错误的分支,…
一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改: 第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉. 第二:我可以按以前的方法直接恢复到上一个版本.使用 git reset –hard HEAD^ 但是现在我不想使用上面的2种方法,我想直…
原文地址:https://blog.csdn.net/chzphoenix/article/details/38090349 近期在使用git,最开始在idea界面操作,后来要求用命令行.刚开始还不是很习惯,感觉很麻烦,用了几天后感觉爽极了! 其实git的命令也不是很多,熟悉一段时间就差不多能顺利使用了.使用过程中遇到了各种各样的问题,有些小问题就在这里集中总结一下. 1.idea命令行.git安装后就自带终端git bash,使用起来很方便.但是用idea开发,开发后还要在相应文件夹下打开gi…
目录 1.撤销操作说明 2.撤销工作区中文件的修改 3.撤销暂存区中文件的修改 4.总结 1.撤销操作说明 我们在使用Git版本管理时,往往需要撤销某些操作.比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到Git的撤销操作,因此撤销操作在平时使用中还是比较多的. 本文介绍几种,对于已修改过的文件,需要进行撤销操作,根据修改文件出现的位置,可以分为三种情况: 仅仅是工作区中内容进行了修改,还未添加到暂存区. 文件已经添加到暂存区,但是还未提交到本地版本库. 文件…
1.使用方法及其作用 git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作(操作的对象是commit).例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了. 就是对已经存在的commit 进行 再次提交: 使用方法如下: git cherry-pick <commit id> 查询commit…
From : http://dmouse.iteye.com/blog/1797267 git 的错误操作,导致丢失了重要的commit,真是痛不欲生: 最后通过git神器终于找回了丢失的commit,但是需要总结和反思的地方有一些,同时需要加深git的学习,特献上本文以供参考 执行git reset --hard HEAD~1 ,删除了commit3,但是发现reset错了,晕菜了…… 还好有后悔药(感叹git的强大啊,神马意外情况都考虑到了)满血恢复commit3,执行如下步骤: git r…
在使用Git的过程中,有时候会因为一些误操作,比如reset.rebase.merge等.特别是在Commit之后又执行了git reset --hard HEAD强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时自己的Commmit记录也消失了.碰到这种情况,不要慌,我们在Git上做的任何操作都只是在原来之前的操作上做修改,并且会被记录下来保存,也就是说无论你做了什么,对于Git来说都可以进行回滚操作. 找回Commit 通过以下例子来了解下具体怎…
合并commit的做法一般用在pull request的时候,把开发同一功能时的所有琐碎的commit合并到一个(假装自己的代码是高质量代码(手动滑稽)).主要使用的命令是git rebase 或者git reset,这两个命令的区别可以看这里,一般推荐用git rebase,因为commit的历史能保存下来. 1. git rebase 首先用git log查看commit历史确定需要操作的commit,比如: commit 0bca654809387dc226cfc4ff872f656018…
git commit --amend 修改刚才提交的commit信息 撤销 git commit --amend 思路是使用 git reflog 查看在哪里ammend的.找到HEAD{N}, N是ammend之前的那个数. 然后使用git reset --soft HEAD@{N} see at http://stackoverflow.com/questions/1459150/how-to-undo-git-commit-amend-done-instead-of-git-commit…
总结:更新代码前一定要先将本地修改的文件存到本地git仓库.今天脑残直接更新了远程仓库代码导入今天写的代码...... @[git|commit|reflog] 在使用Git的过程中,有时候会因为一些误操作,比如reset.rebase.merge等.特别是在Commit之后又执行了git reset --hard HEAD强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时自己的Commmit记录也消失了.碰到这种情况,不要慌,我们在Git上做的任何…
原文地址:http://platinhom.github.io/2016/01/02/git-combine_commit/ 有时commit多了看着会不爽.所以想合并掉一些commit. 这里是最简单的情况, 一条线下来N个commit, 合并掉末端的(没有branch出去的). 假设有a,b,c,d四个commit, 从新到旧是a, b, c, d (也就是先d->c->b->a). 四个commit的SHA-1分别是a1,b1,c1,d1. 合并commit只能倒退, 就是说把a合…
问题: 有以下commit: 323udd ede234 6e7s6e 要合并第一个和第二个commit 方法有二: 方法一 使用git rebase -i hash-id,-i表示以交互模式进行commit合并,hash-id指代某个commit,如 git rebase -i 6e7s6e  (这步操作会多出弹出交互窗口进行commit的设置) 方法二 使用git reset --soft hash-id,如下操作: git reset --soft 6e7s6e git commit -m…
1. 代码回退 首先你要用git log 查看你要回到的那个本版, 然后用 git reset --hard HEAD^ 回退到上个版本 git reset --hard commit_id 退到/进到 指定commit_id 来把你的本地代码回到你复制的某个版本上如果你要吧回退的某个版本提交的远程的话 git push origin HEAD --force 当你回滚之后,又后悔了,想恢复到新的版本怎么办? 用git reflog打印你记录你的每一次操作记录 git reflog 可以查看所有…
标签: git 缘由? 有一次被人问到怎么把一个分支的所有commit按一个commit合并到主分支上,当时一脸蒙B,平时开发都是直接merge,很少考虑到这种问题,于是特意搜索了相关资料. 场景 其实在开发中,我们永远都是保留一个主master分支干静,我们都是会重新拉一个dev分支做开发,遇到BUG就会拉BUG分支解决BUG,但是在分支上做开发和解决BUG不只会有一个提交,而合并到主干上也没有必要让别的开发看到冗余的commit信息,其实别的开发只要需要看到这个分支是解决了什么问题或者开发了…
1.查看 git 仓库文件改动状态 Git 仓库内文件改动有 4 种状态,除了 Unmodified 状态的文件因为并未改动默认没有状态不做显示之外,其他文件改动状态都可以通过 git status 来查看 查看 Git 记录的状态 常用命令, 查看git仓库状态 git status 拿到一个git仓库,进入仓库,第一执行这个命令查看 [root@ci-node1 ~]# cd /data/git_test/ [root@ci-node1 git_test]# [root@ci-node1 g…
情况是这样的,现在远程有一个仓库,分支就一个,是master.然后我本地的仓库是从远程的master上clone下来的.大家都是clone下来,再在自己本地改好,再commit然后pull然后push,大家都是这么做的.那么现在问题来了: 1,那我本地这个也算是个分支?还是就是一个本地仓库? 答:本地和远程的关系相当于两个分支,你感觉一样是因为你git pull 的时候已经自动给绑定好对应关系了, set-upstream..balbala 2,如果我在远程新建了个分支,然后我pull了下来,那…
目录 1.Commit对象介绍 2.Commit对象说明 3.本地库中对象之间的关系 4.总结 5.练习 6.本文用到的命令总结 1.Commit对象介绍 现在来介绍最后一种Git对象commit对象,也叫提交对象. 提交对象可以理解为是对树对象的一层封装,提交信息包括基于当前暂存区中索引文件生成的tree对象,还有包含了提交时间,提交者信息,作者信息,以及提交备注等内容,更重要的是里面还包含了父提交的ID,由此就可以形成Git提交的有向无环图.(是链式的关系,把所有commit对象关联起来)…
svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如果svn用的时间很长了,而且很多commit,我们希望保存svn commit的信息以便做版本的控制和比较.幸好git提供了相应的解决办法. 前提 已安装git 已安装gitlab 迁移 1.环境准备: yum install -y git-svn 2.svn账号与git账号映射,users.txt…