git只拉一个特定的标签

时间:2017-03-16 16:01:32

标签: git git-pull

我寻求命令让我的生活更轻松。

问题: 有一个源项目。 随着时间推移我推出更多版本:v1.0.1直到v1.0.14(最新) 版本v1.0.12是一个补丁,修复了myserver的特殊功能, 但myserver实际安装了v1.0.10(我应该从v1.0.10更新到v1.0.12)

问题: 如何创建命令以将特定服务器更新为外观版本v1.0.12

我知道命令git pull但不明白如何做正确的方法 我也想要一些选项来防止合并冲突

起点是我做的命令:

$ git pull --rebase origin refs/tags/1.0.13:refs/tags/1.0.13
From http://192.168.0.12/gitlab/AF-NG/frontend-dist
* [new tag]         1.0.13     -> 1.0.13
* [new tag]         1.0.11     -> 1.0.11
* [new tag]         1.0.12     -> 1.0.12
* [new tag]         1.0.14     -> 1.0.14
First, rewinding head to replay your work on top of it...
Applying: 2.0.0
Using index info to reconstruct a base tree...
------
Falling back to patching base and 3-way merge...
Auto-merging styles/css/production.min.css
CONFLICT (add/add): Merge conflict in file.css
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort"

2 个答案:

答案 0 :(得分:5)

我找到的解决方案是:

  1. $ git fetch -unf origin 1.0.12:refs/tags/1.0.12
  2. $ git checkout 1.0.12
  3. 如果远程更改想要与current合并,则会产生: $ git merger 1.0.12

    请告诉我,我的方式是否正确

答案 1 :(得分:0)

您需要使用git checkout来检查所需的标记。这将使工作目录与创建标记时的工作目录相同。