我想要做的是获取具有特定注释的文件版本,获取并使用它,然后将其更改为最新代码。
git log -g --grep="code submitted version 0.1.2.3"
这会返回一个哈希123456
,然后我会这样做:
git checkout 123456
并使用旧版本。
现在我想将HEAD
更改回最新版本。这是我做不到的。
我试过了:
git reset --hard
git clean -f
git pull
有什么想法吗?
答案 0 :(得分:19)
当您致电git checkout 123456
时,您将HEAD
从您当前所在的提交(很可能是master
分支的负责人)移至提交123456
。因此,您正在寻找一种方法将HEAD
移回您之前所在的分支,您可以这样做:
git checkout master
如果您想查看文件的特定版本,可以使用
进行查看git show 123456:/txt/file.txt
或暂时仅使用
签出此文件git checkout 123456:/txt/file.txt
// use it
git checkout :/txt/file.txt
您的尝试说明:
git reset --hard
还原当前HEAD
的所有更改,但不会移动HEAD
。重置后,git status
显示所有内容都“干净”。
git clean
从工作树中删除所有未跟踪的文件,再次移动HEAD
。
git pull
获取上游更改并将其合并。不是您想要的。