Git 中的回退操作:reset 和 revert】的更多相关文章

Git 中回退有 reset 和 revert,这两个的区别就是是否保留更改记录 假设当前的提交情况是:A <- B <- C <- D <- HEAD,如下图: 当前是 D,希望回退到 A,那我们可以使用 reset 命令,reset 后再看 git log 就会发现:B <- C <- D 宛如没有出现过,这适用于想完全舍弃 A 之后的修改 但是如果我们想保留 B <- C <- D 的修改记录,可能这三个 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…
目录 1.撤销操作说明 2.撤销工作区中文件的修改 3.撤销暂存区中文件的修改 4.总结 1.撤销操作说明 我们在使用Git版本管理时,往往需要撤销某些操作.比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到Git的撤销操作,因此撤销操作在平时使用中还是比较多的. 本文介绍几种,对于已修改过的文件,需要进行撤销操作,根据修改文件出现的位置,可以分为三种情况: 仅仅是工作区中内容进行了修改,还未添加到暂存区. 文件已经添加到暂存区,但是还未提交到本地版本库. 文件…
现在我们的机器上有了一个 真实项目 的 Git 仓库,并从这个仓库中检出了所有文件的 工作副本. 通常,你会对这些文件做些修改,每当完成了一个阶段的目标,想要将记录下它时,就将它提交到仓库. git中文件的状态变化周期: git 文件无非已跟踪和未跟踪两种状态,已跟踪的文件状态:unmodified 未修改,已提交: modifid 提交之后再次修改:staged添加至暂存区域的文件,阶段目标完成一起提交的文件暂存在这里. 我们开发在工作区中最常用的操作也就是文件在这几个状态之间流转. git…
基本的6个命令 常用的就下面6个命令,但是详细的可能有上百个命令. 还需要特别了解git的几个名词,workspace:工作区,Index/Stage:暂存区,Respository:本地仓库,Remote:远程仓库. 测试环境 vs2015 msysGit+TortoiseGit GitLab 添加到远端仓库 1,初始化一个git仓库 git命令: # 基于已有目录,在当前目录新建一个Git代码库[常用] $ git init # 新建一个目录,将其初始化为Git代码库,如: $ git in…
1.查看提交的历史版本(git log) 我们可以使用 git log 命令来查看提交的历史版本. 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.每个版本都有一个 SHA-1 校验和.作者的名字和电子邮件地址.提交时间,最后缩进一个段落显示提交说明. 1.1.展开显示每次提交的内容差异(git log -p) git log -p 命令将会列出每次提交时相对于上一版本的修改.用 -2 则只显示最近的两次更新 1.2.只显示每次提交的差异的简要信息(git…
Git command之回退篇 欲练回退 必先了解:HEAD.index.WorkingCopy HEAD: 当前所在的分支版本顶端的别名,也就是最新的一次commit. git commit 之后与HEAD一致 index: staging area,git add 之后放入该区域 WorkingCopy: 当前修改等操作所在区域,没有 git add 和 git commit 操作 git reset HEAD --file (单个文件) 可与git checkout --file配合 回退…
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…
1 git回退命令 git reset --hard GIT_HEAD   GIT_HEAD是你具体要回退的分支: 如图:   注:  查询GIT_HEAD可以通过两个命令:git log 获取未删除分支的提交记录 git reflog 获取全部分支的所有提交记录   2 git回退操作后需要提交本地记录到git远程仓库,需要使用下面命令: git push -f 因为会直接删除最新的提交记录,所以需要强制推送到远程分支   3 去除分支保护 假如你是对master分支操作,会面临无法强制提交的…