开发者

GIT pull/fetch from specific tag

Is there a way to pull/fetch code from a specific tag in a repo.

开发者_运维技巧

Am aware that after clone, i can checkout to the tag but is it possible to specify a tag during a pull?

In ClearCase i can rebase or deliver a specific baseline of code, is there a way where i can use git tags similarly to pull/push code upto a specified tag?


It will be a bit different with ClearCase, because you can only rebase a baseline produced on the parent Stream (although you can deliver any baseline from any Stream to your Stream).
So there are some limitations to the kind of merge you do with ClearCase.

With Git, you can merge any commit to the HEAD of your current branch.
If that commit comes from a remote repo, it will be first imported in the remote branches of your local repo ('fetch' part of the git pull) and then merged.

 git pull [options] [<repository> [<refspec>…]]

The "refspec" part of the git pull command means you can pull anything.

<refspec> can name an arbitrary remote ref (for example, the name of a tag) or even a collection of refs with corresponding remote tracking branches (e.g., refs/heads/:refs/remotes/origin/), but usually it is the name of a branch in the remote repository.

See also How to pull remote branch with specified commit id?


Pull is fetch, then merge or rebase.

Talking about how to fetch a specific remote ref (either a tag or branch), probably an example is better at clarifying this:

git fetch origin :refs/remotes/origin/master

Or a shorter form:

git fetch origin :remotes/origin/master

Note this works even if remotes/origin/master has been removed locally.

Another example for creating a local branch directly from a remote tag

git fetch <repo_url> +refs/tags/<TAG>:<branch>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜