2017-03-16 98 views
0

我在寻找命令让我的生活变得最简单。git只拉一个特定标签

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

问题: 如何让一个命令到特定服务器更新到版本看v1.0.12

我知道命令的git拉但不明白怎么做正确的方式 也我想要一些选项,以防止合并冲突

起始点是我做了命令:

$ 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" 
+0

你想在一些服务器上签出** v1.0.12吗?或者你想将v1.0.12与你的本地非推送/共享提交集成? –

+0

_I寻找命令让我的生活变得最简单._我们不是全部吗? –

+1

'git pull'意味着'git fetch',然后运行第二个Git命令,通常是'git merge',尽管你可以告诉它使用'git rebase'。我建议*避免*'git pull'。只需使用'git fetch'后面跟着你想要的命令,在这种情况下,这似乎是'git checkout'。 – torek

回答

2

,我找到的解决方案是:

  1. $ git fetch -unf origin 1.0.12:refs/tags/1.0.12
  2. $ git checkout 1.0.12

如果远程修改要与当前的合并将使: $ git merger 1.0.12

,请告诉我,如果我的方式是对的

0

您需要使用git checkout结帐你想要的标签。这将使工作目录与创建标签时的工作目录相同。