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


你可能感兴趣的:(git)