回退某个文件test.txt到某次提交的流程 :
获取想要回退到的版本的commit id(假设为2fe1167)
git 回退版本
git reset 2fe1167 test.txt
-
回退之后查看当前状态 会发现没有如想象中的回退到那个版本
test.txt还是当前这个版本的内容 这是因为reset操作的是暂存区(理论还未确保正确) 需要同步到工作区
所以这一步 git checkout -- test.txt
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)modified: test.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)modified: test.txt
4. 提交
git commit -m "revert test.txt to 2fe1167"