git中reset与revert的使用】的更多相关文章

http://alpha-blog.wanglianghome.org/2010/07/30/git-partial-rollback/ reset(版本撤回) 格式 git reset [-q] [<commit>] [--] <paths>...git reset (--patch | -p) [<commit>] [--] [<paths>...]git reset (--soft | --mixed | --hard | --merge | --ke…
今天学习了git回退的两个命令,现在总结一下: 1.git reset 如果想回退错误的提交C和D,只要把指针移到B上 git reset --hard a0fvf8 而这时候,远程仓库的指针还在D上,如果直接用 git push 将无法推到远程仓库,所以只能用 git push -f 强制推到远程仓库, 这样会有弊端,当你发现C和D不是错误的或者有用的话,将无法找回,因为已经指针远程仓库的指针已经在B上了. 这时候 git revert 就有作用了 2.git revert git rever…
git reset 命令详解(一) git reset 命令详解(二) reset命令的语法:git reset [选项]  [版本号]  [要回退的目标] 选项:--soft仅将head指针指向历史版本 --mixed将head指针指向历史版本,且用历史版本的暂存区覆盖当前暂存区(默认的选项)   --hard将head指针指向历史版本,同时覆盖工作区和暂存区的内容(比较危险慎用) 版本号:可以是某个绝对的版本号,也可以是用head指针指向的相对版本号(默认head所指的当前版本) 要回退的目…
Git 中回退有 reset 和 revert,这两个的区别就是是否保留更改记录 假设当前的提交情况是:A <- B <- C <- D <- HEAD,如下图: 当前是 D,希望回退到 A,那我们可以使用 reset 命令,reset 后再看 git log 就会发现:B <- C <- D 宛如没有出现过,这适用于想完全舍弃 A 之后的修改 但是如果我们想保留 B <- C <- D 的修改记录,可能这三个 commit 的功能只是暂时用不到,以后可能还…
Overview 涉及Git一些日常操作 :) 基础知识 <Pro Git>至少了解branch,commit的概念,及基本的原理 Git常用魔法 存档:master代码回滚方法 我是QA,我用Git Git 工作区.暂存区和版本库 Overview 暂存区(stage, index)是 Git 最重要的概念之一 工作区: 你的目录下面的文件们 暂存区: 由.git/index保存引用,.git/object保存对象的区域 版本库: 仓库 Relations Why stage before…
实战 回退 1.删除之前的提交 git reset --hard id 推送到远程 git push -f [git log中确实删除了,但是拿到可以恢复] 2.不删除之前的提交 git revert id Git恢复之前版本的两种方法reset.revert(图文详解) 一.问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset).反做(revert). 二.背景知识…
基本概念 工作区 暂存区 本地版本仓库 远程版本仓库 如果不清晰上面的四个概念,请查看廖老师的git教程 这里我多说几句:最开始我使用git的时候,我并不明白我为什么写完代码要用git的一些列指令把我的修改 存起来.后来用多了,也就明白了为什么.git是一个"版本管理工具",大家在写东西的时候都用过"回撤" 这个功能,但是回撤只能回撤几步,假如想要找回我三天之前的修改,光用"回撤"是找不回来的.而"版本管理工具" 就是记录每次…
(暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使用git reset 将文件状态回转到staged|modified|unstaged: git reset HEAD^   git reset --soft HEAD^git reset HEAD~3    (本地有3次commit未提交时用,也可以git reset HEAD^操作3次) 状态回转用git reset 被delete的内容没有push到远端仓,此时想恢复文件:…
下面以现实场景作为情境. 基础知识,理解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分支管理之rebase 以及 cherry-pick相关操作>本篇博客我们就以Learning Git中的关卡进行展开.下方列举了LearningGit中的 merge.rebase.reset.revert.cherry-pick 以及交互式rebase相关关卡的操作以及对应的解析.后边在聊交互式rebase操作是,不单单给出了LearningGit中的内容,而且给出了真正的Git分支在交互式rebase操作时的具体案例. learngitbranching的地址为:ht…