我想要做的是获取具有特定注释的文件的版本,获取并使用它,然后将其更改为最新的代码.
git log -g --grep="code submitted version 0.1.2.3"
Run Code Online (Sandbox Code Playgroud)
这返回一个哈希123456
,然后我做:
git checkout 123456
Run Code Online (Sandbox Code Playgroud)
并使用旧版本.
现在我想把HEAD
背面改成最新的.这是我做不到的.我试过了:
git reset --hard
git clean -f
git pull
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Mic*_*ann 21
当你打电话时,git checkout 123456
你将你HEAD
当前所在的提交(很可能是master
分支的负责人)移到了提交中123456
.因此,您正在寻找一种方法来HEAD
回到之前的分支,您可以使用以下方法:
git checkout master
Run Code Online (Sandbox Code Playgroud)
如果要查看文件的特定修订版,可以使用它来查看它
git show 123456:/txt/file.txt
Run Code Online (Sandbox Code Playgroud)
或者暂时只用这个文件签出
git checkout 123456:/txt/file.txt
// use it
git checkout :/txt/file.txt
Run Code Online (Sandbox Code Playgroud)
你尝试的解释:
git reset --hard
恢复当前的所有更改HEAD
,但不移动HEAD
.重置后,git status
显示一切都"干净".
git clean
从工作树中删除所有未跟踪的文件,同样HEAD
不移动.
git pull
获取上游更改并将它们合并.不是您想要的.