`
vipshichg
  • 浏览: 262045 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Git 技巧:恢复到前一次提交

    博客分类:
  • Git
阅读更多

有时候你希望将你现在的代码返回到前一次提交,并保留所有之前的变化。你希望在前一次提交与当前HEAD之间提交新的代码。

首先,以你希望退回的提交处新建一个分支为 'revert-branch' 。在这个例子中,我们希望退回到前一次提交(假设当前分支为'master'),并且在这个提交上再做修改。

git branch revert-branch HEAD^

 

接下来切换到新的分支:

git checkout revert-branch
 

传授一个绝招:从master软恢复到新分支的HEAD。软恢复将改变HEAD的状态,但并不影响工作树。

git reset --soft master

 

现在,我们执行 git status, 我们将看到我们想要恢复的提交的变化。我要撤销添加'second.txt',但也可能是更复杂的变化:

$ git status
# On branch revert-branch
# Changes to be committed:
#   (use  to unstage)
#
#       deleted:    second.txt
#

 

现在让我们提交这个 'reversal':

git commit -m "reverted to initial state."
4
4
分享到:
评论
1 楼 ykssky 2014-03-06  
楼猪就会抄啊
抄的文章放引用, 别跟小偷似的  

http://www.oschina.net/translate/git-tips-revert-with-new-commit

相关推荐

    解决git:fatal:Unable to create”…/.git/index.lock” 的错误

    问题描述: 在使用git 进行提交时, 出现上面这个报错, 导致无法提交. 报错大致意思就是创建index.lock文件失败,因为已经存在index.lock文件了. index.lock文件是在.git下面, 而.git是一般是隐藏的, 那么可以通过以下...

    gitlog:从 git commit 消息管理更改日志

    --limit=[(int)limit]:默认情况下它只显示/导出最后一次提交。 使用此参数来定位更多提交。 --start=[(int)start]:提交的起始偏移量。 --format=[array|json|md|console]:导出的格式。 默认情况下,导出显示到...

    Git常用的33个命令

    git commit -m "描述信息" [文件名]:将暂存区的文件修改提交到版本库 git log:查看日志 远程仓库命令: git remote:查看远程仓库 git remote add [shortname] [url]:添加远程仓库 git clone [url]:从远程仓库...

    git提交信息模板

    git提交信息模板 git提交信息模板 git提交信息模板 git提交信息模板

    常用的git命令完整详细109条

    3. git commit -m “备注”:提交暂存区的文件到Git仓库,并附上一条描述本次提交的备注信息。 4. git status 与 git diff:查看当前仓库的状态和文件差异。 5. git show commit_id 查看某次修改:显示指定提交的...

    Git提交代码工具SourceTree

    Git提交代码工具SourceTree Git提交代码工具SourceTree

    gitjump:绕过git commits。 用于读取源代码-git source code

    git jump 100 :跳转到第100次提交(简称git j ) git jump +10 :跳转10提交较新 git jump -10 :跳转10年纪大 git jump 03308b1a :跳转到commitid以03308b1a开头 git next (简称git n ):跳转到下一个提交...

    04Git入门第一次提交 git commit

    04★Git入门★第一次提交_git_commit

    git 删除分支和回滚的实例详解

    git 删除分支和回滚的实例详解 【git 删除本地分支】 ...git reset --hard HEAD~3:将最近3次的提交回滚 【远程代码库回滚】: 这个是重点要说的内容,过程比本地回滚要复杂 应用场景:自动部署系统发布后发现问题

    git-uncommit:撤消 Git 提交

    git-uncommit正如它所说的那样:它取消提交最后一次 Git 提交,保存补丁。 git-recommit应用回最后一个未提交的补丁; 应用补丁后,补丁文件被删除。示例用法想象一下,经过大量工作,您刚刚对您的分支进行了实验性...

    java-git:第一次提交

    java-git:第一次提交

    100个Git常用命令及用法-IT老卢.pdf

    2.git clone <url>:从远程 Git 仓库克隆一个本地副本 3.git remote add <name> <url>:给当前 Git 项目添加一个远程仓库 4.git pull:拉取远程仓库的最新代码 5.git push <remote> <branch>:将本地分支推送到远程...

    NewEBuy:如何找回Git删除的提交。Learn Git to find out the removed commit

    git clone https://bitbucket.org/liruqi/newebuy.git找一找哪一个是代码删除之前的提交git log把git的HEAD头指向之前代码还在的hashgit reset 45ac382f --hardgit clean哈哈,现在你找回来了English: Learn Git: ...

    git提交代码流程

    git提交代码流程,包括回滚提交内容,合并分支,查看操作日志,恢复其他分支的内容等

    linux系统安装git及git常用命令

    2 下载远程项目的GIT库到本地[code]$ git clone git://远程Git库地址 filename[code] filename 是你本地的文件夹名字将远程库克隆到这个文件夹,此文件是自己建立的 3 常用命令 (1)git branch 查看本地分支

    GitHack改进版(git源码泄露恢复工具)

    GitHack改进版(git源码泄露恢复工具)可以恢复git文件和目录,实现版本还原,比原版的功能更强大

    git提交数据教程

    团队开发常用的git工具教程,这里提供的是上传文件教程的其中之一。

    git svn转换工具

    svn+git实现离线提交并且不需要到处所有svn版本,速度超快非一般的感觉,超越git本身的git2svn功能。 使用本工具需要安装基础工具: 首先安装git msysgit:https://code.google.com/p/msysgit/downloads/list msysgit...

    Python-Git提交消息如何写一个好的git提交消息

    Git提交消息:如何写一个好的git提交消息

    git-learn:第一次把项目提交到GitHub

    试一下新建仓库,Git的基本命令操作 软件架构 软件架构说明 安装教程 xxx xxx xxx 使用说明 xxx xxx xxx 参与贡献 叉本仓库 新建Feat_xxx分支 提交代码 新建Pull Request 特技 使用Readme_XXX.md来支持不同的...

Global site tag (gtag.js) - Google Analytics