在过去的某个时刻,我已将master
设置为关注我的其他分支,如下所示:
git symbolic-ref refs/heads/master refs/heads/my-other-branch
我想回到主人像往常一样跟踪HEAD的状态。我可以将最新的SHA1粘贴到.git/refs/heads/master
吗?
答案 0 :(得分:3)
你可以,但"正式更正"方法是使用git update-ref
与--no-deref
重写refs/heads/master
,而不遵循refs/heads/master
中当前的符号间接。
换句话说,如果$sha1
是正确的SHA-1,则:
echo $sha1 > .git/refs/heads/master
和
git update-ref --no-deref refs/heads/master $sha1
应该有用,但后者是"对"方法,即使git在将来发展使得echo
停止工作,它仍应继续工作。您可以向后者添加-m <reason>
以将<reason>
字符串添加到reflog中(直接echo
方法不会更新reflog,而update-ref
会更新)。