2017-03-16 13 views
0

私は自分の人生を簡単にするためのコマンドを探しています。gitは特定のタグだけを引き出します

問題: にはソースを持つプロジェクトがあります。 時間の経過に伴い、v1.0.1からv1.0.14まで(最新) バージョンv1.0.12はパッチであり、myserver専用の修正プログラム がインストールされていますが、myserverは実際にv1.0.10をインストールしています(v1 v1.0.12へ.0.10)

質問:見て、バージョンv1.0.12

に特定のサーバーを更新するコマンドを作成する方法 私は、コマンドgitのプルを知っているが、正しい操作を行う方法を理解していませんway また、マージの競合を防止するオプションが必要です

$ 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

一部のサーバーで** checkout ** v1.0.12にしますか?または、v1.0.12をローカルの非プッシュ/共有コミットと統合したいですか? –

+0

_私は私の人生を楽にするための命令を探しています__私たちは皆ですか? –

+1

'git pull'は' git fetch'を意味し、2回目の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を使用する必要があります。開始点は、私が作ったコマンドです。これにより、タグを作成したときと同じ作業ディレクトリが作成されます。私が見つけ

関連する問題