2

我有一个裸 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

关于如何在远程工作树上签出标签的任何想法?

4

1 回答 1

2

要在远程端签出标签,您需要先推送它:

git push --tags

正如“使用 GitHub 如何在添加现有仓库时推送所有分支? ”中所述,甚至git push --all不会推送您的标签,仅推送refs/heads/.

于 2013-03-07T21:43:04.097 回答