git切换到某个tag

git clone 整个仓库后使用,以下命令就可以取得该 tag 对应的代码了。

git checkout tag_name
但是,这时候 git 可能会提示你当前处于一个“detached HEAD” 状态。

因为 tag 相当于是一个快照,是不能更改它的代码的。

如果要在 tag 代码的基础上做修改,你需要一个分支:

git checkout -b branch_name tag_name
这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。

如果项目上有一个后来新建的分支test,并且使用

git branch -a
看不到该远程分支:

* develop
remotes/composer/develop
remotes/composer/feature/194
remotes/composer/feature/198
remotes/composer/feature/199
remotes/composer/feature/200
remotes/composer/master
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/feature/194
remotes/origin/feature/198
remotes/origin/feature/199
remotes/origin/feature/200
remotes/origin/master
直接使用命令git checkout test,出现以下错误

error: pathspec ‘origin/XXX’ did not match any file(s) known to git.
项目上有一个分支test,使用git branch -a看不到该远程分支,直接使用命令git checkout test报错如下:
解决方法是:

1、执行命令git fetch取回所有分支的更新

2、执行git branch -a可以看到test分支(已经更新分支信息)

3、切换分支git checkout test

发表评论

电子邮件地址不会被公开。 必填项已用*标注