如果我对工作树进行了更改并且尚未提交,并且我想恢复我所做的更改,那么它们之间是否存在差异
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
和
git checkout .
Run Code Online (Sandbox Code Playgroud)
?
kni*_*ttl 30
git checkout -- .
显然只能在当前目录(及其子目录)git reset --hard
上工作,将在完整的工作树上运行.
git checkout -- .
将仅更新工作树并保留已经暂存的文件,而git reset --hard
将匹配索引和工作树与HEAD提交.
与refspec一起使用时:
reset
将当前分支头设置为给定的提交(并匹配索引和工作树)checkout
当他们触摸当前分支和要检出的分支之间没有变化的文件时,将切换到该分支,保持本地更改不变