reset把branch移动到HEAD指向的地方 checkout则把HEAD移动到另一个分支 第二个区别可能有点难以理解,举例来说:假设你有两个分支master和develop,这两个分支指向不一样的commit,我们现在在develop分支上(HEAD指向的地方) 如果我们git reset master,那么develop就会指向master所指向的那个commit。 如果我们git checkout ma...
可以使用三条命令来恢复到上一个commit:git reset --soft HEAD~ 、 git reset --mixed HEAD~ 、git reset --soft HEAD~ HEAD~表示的是当前commit节点的父节点。 1. git reset--softHEAD~ // 撤销git仓库的上一次的commit,但是不改变暂存区以及工作区 执行上面的命令,指针移动如下:git仓库中的HEAD指针以及...
reset 的本质:移动 HEAD 以及它所指向的 branch 实质上,reset这个指令虽然可以用来撤销commit,但它的实质行为并不是撤销,而是移动HEAD,并且「捎带」上HEAD所指向的branch(如果有的话)。也就是说,reset这个指令的行为其实和它的字面意思 "reset"(重置)十分相符:它是用来重置HEAD以及它所指向的branch的位置的。 而re...
reset把branch移动到HEAD指向的地方 checkout则把HEAD移动到另一个分支 第二个区别可能有点难以理解,举例来说:假设你有两个分支master和develop,这两个分支指向不一样的commit,我们现在在develop分支上(HEAD指向的地方) 如果我们git reset master,那么develop就会指向master所指向的那个commit。 如果我们git checkout ma...
On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) deleted: test.txt 1. 2. 3. 4. 5. 6. 然后提交: $ git commit -m "delete test" [master f05b05b] delete test 1 file changed, 3 deletions(-) ...
git reset --soft HEAD^ 那么除了HEAD和它所指向的branch1被移动到HEAD^之外,原先HEAD处commit的改动(也就是那个laughters.txt文件)也会被放进暂存区: git status 使用git reset --soft HEAD^后 这就是--soft和--hard的区别:--hard会清空工作目录和暂存区的改动,*而--soft则会保留工作目录的内容,并把因为...
此时,由于索引和 HEAD 不同,若运行git status的话就会看到 “Changes to be committed” 下的该文件变为绿色 ——也就是说,现在预期的下一次提交与上一次提交不同。 最后,我们运行git commit来完成提交。 现在运行git status会没有输出,因为三棵树又变得相同了。
$ git status On branch feature nothing to commit, working tree clean 在工作区和暂存区已经没有...
在github图形化界面上看,远程库的HEAD也已经指向目标版本: 4.IDEA上Git Reset 选项说明 提交版本2的修改后,想回退到版本1,选择版本右键Reset Current Branch to Here 弹出选项框 This will reset the current branch head to the selected commit, and update the working tree and the index accoding to the ...
演示下图的git reset 各选项的效果。 image.png Git Reset操作说明 图中说明: This will reset the current branch head to the selected commit, and update the working tree and the index accoding to the seleted mode. 意思是: 该操作会重置当前分支指针到所选择的提交点,并且更新记录点和根据所选选项更...