我有一个简单的git repo设置,它运行更新后的挂钩,如下所示:
GIT_WORK_TREE=/path/to/code git checkout -f
将代码推送到例如网络服务器时,这很有效。我可以处理代码,当我完成后,更新网络服务器是一个简单的git push live master
。
但是,我不知道如何回滚到例如特定标签。通常可以使用git checkout TAG
完成,但是当我尝试签出代码(例如GIT_WORK_TREE=/path/to/code git checkout -f TAG
)时,git会响应:
error: pathspec 'TAG' did not match any file(s) known to git
关于如何签出远程工作树上的标签的任何想法?
答案 0 :(得分:2)
要检查远程端的标签,您需要先将其按下:
git push --tags
正如“With GitHub how do I push all branches when adding an existing repo?”中所述,即使git push --all
也不会推送您的代码,只有refs/heads/
下的所有引用。