Git的checkout, reset, revert】的更多相关文章

不管是修改还是新建文件,都必须通过git add把这次修改从工作区加到暂存区: commit只是提交暂存区的修改,还没add到暂存区处于工作区的修改是不会commit的:   git checkout可以将工作区的文件用暂存区的文件去替换掉,用于没commit之前:   git reset -mixed可以将commit到本地仓库的修改记录回滚,并删掉暂存区的文件,但是工作区的修改还在,相当于只修改了文件,没有 add到暂存区,也没有commit到仓库,用于没push之前: git reset…
1.Git工作区原理图 要清楚理解git reset的三个模式的区别,首先应该搞明白Git的各个工作区的划分. 工作区(working directory):在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面.可简单理解为正在编辑的本地工程. 暂存区(英文叫stage或index):它实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区.在这个虚拟工作区的目录树中,记录了文件名.文件的状态信息(时间戳.文件长度等),文件的内容并不存储其中,而是保存在Git对象库(.git/obj…
代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Home 2.1 快速指南 2.2 创建代码仓库 2.3 保存你的更改 2.4 检查仓库状态 2.5 检出之前的提交 2.6 回滚错误的修改 2.7 重写项目历史 3.2 保持同步 3.3 创建Pull Request 3.4 使用分支 3.5 常见工作流比较 4.1 图解Git命令 5.1 代码合并:…
https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting/file-level-operations 最近不小心在自己的git branch上误提交了一些改动,想回到之前的状态(就是working directory还是commit后的状态,但commit history往回退一个版本,所有改动还没有放到stage上).搜了一些文章,上面的文章应该讲的比较详细(以上的git教程看起来也不错,可以留用)…
代码回滚:Reset.Checkout.Revert的选择 Git仓库有三个主要组成——工作目录,缓存区和提交历史. 从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也就是即将成为HEAD的一次提交. ----1.提交层面——参数为commit Reset 所以,git reset不会产生commits,它仅仅更新一个branch(branch本身就是一个指向一个commit的指针)指向另外一个commit(Head和branch Tip同时移动保持一致) Che…
git reset revert 回退回滚取消提交返回上一版本 总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的, 大致分为下面2种情况:  1.没有push 这种情况发生在你的本地代码仓库,可能你add ,delete,commit 以后发现代码有点问题,准备撤销本次commit,…
git branch & checkout fetch 的使用和冲突解决 branch git branch 查看本地分支 git branch -v    查看本地分支的具体信息(commit id,例如:f65ded9 和 commit 信息) git branch -r 查看远程分支 git branch -a    查看本地和远程分支 git branch -vv         查看本地分支和远程分支的对应关系 git branch <new-branch-name> 新建本…
git reset, git checkout, git revert能让你撤销你本地仓储的一些修改,  前两种命令可以作用于commit或者一个文件. Commit级别的操作 注意了git revert只能作用于commit不能作用于文件. reset 在commit级别, reset把你的branch的顶端移动到另外一个commit. 可以用来删除你当前分支的commit. 例如, 下面的命令把hotfix分支往后后退两次. git checkout hotfix git reset HEA…
git reset.git checkout 和 git revert 是你的 Git 工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件 Git 仓库有三个主要组成--工作目录,缓存区和提交历史 提交层面的操作 你传给 git reset 和 git checkout 的参数决定了它们的作用域.如果你没有包含文件路径,这些操作对所有提交生效,注意,git revert 没有文件层面的操作. Reset 在提交层面上,reset 将…
git revert HEAD~1 撤销倒数第二次提交,并将这次操作作为一个新提交添加到log里,之前的提交历史不变,是撤销某次提交 git reset,直接回退到指定版本 git reset --soft HEAD~1 是回退到倒数第二次提交,最后一次提交历史清除,但是将最后一次的提交退回到暂存区,也就是说文件 还在,如果不加soft,则默认是soft git reset --mixed HEAD~1 是回退到倒数第二次提交,最后一次提交历史清除,文件 还在,但不在暂存区,如果不加参数,则默认…