事情的起因是提交java作业的时候,因为有一个模板文件被改动而无法merge。于是需要把这个文件还原到最初下载时的样子
首先是查询特定文件的git log记录
1 | git log ./folder/filename |
在windows的git bash中,是无法通过 git reset --hard 版本哈希 filename
来回退的
搜索后发现应该用checkout
1 | git checkout 版本hash filename |
可以避免影响已经完成的作业
但是这样是无法直接push的,因为有文件回退到了过去的版本。会出现 you are not currently on a branch
可以通过 git push origin HEAD:master --force
来强制执行
成功!