git checkout <branchname>第二个就是放弃对某个文件的修改。例如你想放弃对某个文件Hello.cpp的修改...
git checkout -borigin/在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致 2.还原工作区(文件内容) gitcheckout–<file_name>丢弃工作区的修改,并用最近一次的commit内容还原到当前工作区(对文件中内容的操作,无法对添加文件、删除文件起作用)gitcheckoutHEAD^–<file_name>将指定commit提交的内容(HE...
git checkout <commit> 该命令的功能同reset版本的一致,也是将“三棵树”重置为指定<commit>提交的内容,但是有一个最主要的区别就是,checkout版本的操作仅仅只会将HEAD制动到指定的<commit>提交,而不会移动分支引用,也就是说HEAD指针变成了游离态,并没有指向任何分支,这里隐含了两个要点:1、只要知道之前分支的名字...
如果我们git reset master,那么develop就会指向master所指向的那个commit。 如果我们git checkout master,那么develop不会动,只有HEAD会移动。HEAD会指向master。看图: 带文件参数 当执行git checkout [branch] file时,checkout干了这件事情: 更新了index区域里file文件的内容 更新了working directory里file文件的内容 总...
我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接checkout对应的 commit id或者tag名...
在讲git的reset和checkout的区别之前,不得不说说HEAD、Index、Working Directory三个区域。 HEAD、Index、Working Directory Git里有三个区域很重要 HEAD 指向最近一次commit里的所有snapshot Index 缓存区域,只有Index区域里的东西才可以被commit Working Directory 用户操作区域 ...
一、git reset 和 git checkout git reset [commit] 重置为[commit]所对应节点的提交(通过移动分支指针和HEAD指针实现),如果不指定[commit]则默认为HEAD --soft 工作区和暂存区不变,重置仓库 --mixed 工作区不变,重置暂存区和仓库,此为默认选项 --hard 工作区、暂存区和仓库全部重置,修改完全丢失 ...
git reset、git revert和git checkout的共同点:用来撤销代码仓库中的某些更改。 不同点: 从commit层面说起: git reset可以将一个分支的末端指向之前的一个commit。然后下次git执行垃圾回收的时候,会把这个commit之后的commit都扔掉。git reset还支持三种标记,用来标记reset指令影响的范围: ...
Git高级操作:reset,checkout,revert git reset,git checkout,和git revert命令是Git工具箱中最有用的几个工具之一。他们都用来撤销仓库中的某种修改,其中前两个命令可以用来撤销针对提交或者单个文件的修改。 因为如此相似,在特定开发场景下很容易出现不知道该使用那个命令的情况。在本文中我们会比较git reset,git che...
与git reset相反,git revert没有改变已有提交历史。基于此,git revert应该被用于撤销公共分支上的变更,而git reset应该被限制于撤销私有分支的变更。 你也可以理解为git revert用于撤销已提交的变更,git reset用于撤销未提交的变更。 与git checkout一样,git revert操作也会导致潜在的文件覆盖,所以Git也会要求在revert...