2016-05-09 12 views
0

私のgitマスターには、productiontestingという2つのブランチがあります。私はすべてのテストで仕事をしています。現在の私の生産バージョンは5です。私のテストバージョンは20です。今は15のテストバージョンから生産バージョンを更新したいと思います。特定のコミットを別のブランチにコピーする方法は?

これはどうすればテストバージョン15を選択してコピーまたはマージできますか5の生産版に? (新しいバージョンのテスト版が、「正常」という生産版では6のIDでコミットする場合)

ここで何か間違っている場合はどうぞよろしくお願いいたします。

私には分かりません。私を助けてください。

答えて

1

私はあなたが(git checkout)特定のテストブランチは、バージョン15のコミット一時ブランチgit checkout -b version15mergeを作成し、productionブランチにgit checkout production && git merge version15mergeにこのようなものをマージチェックアウトを示唆しています。

0

git cherry-pickと、コピーしたいコミットのSHA1を使用します。

0

単一コミットをコピーする場合は、git cherry-pickを使用します。
testingのすべての変更を15までマージする場合は、git merge 15を使用して、変更をproductionにマージします。

+0

私はこのようにしようとしています:しかし、エラーを取得: ' C:\チュートリアル\ try> git cherry-pick 3bdb71b https://github.com/3gwebtrain/color-palette.git 致命的なエラー:gitリポジトリ(または親ディレクトリ)ではありません:.git' - 私のやり方が間違っているここに? – user2024080

+0

リモートURLからチェリーを選ぶことはできません。このリポジトリをリモートに追加する必要があります。リポジトリをまだ持っていない場合は、変更をフェッチしてチェリーピックします。あなたが 'git-spindle'や' hub'のようなアドオンを持っているのを除いて、あなたはそういうことをすることができます。このような – Vampire

0

宛先ブランチがチェックアウトされているときにgit cherry-pick <commit-hash from the source branch >を使用します。あなたのケースでは枝をテストにバージョン15のコミットハッシュを検索し、masterブランチをチェックアウトし、以下を実行します。

git cherry-pick <commit-hash of version 15 from testing branch> 
+0

取得エラー: ' C:\チュートリアル\ Gitのf487636 エラーを桜選ぶ>カラーパレット\試す:f487636を適用することができませんでした...更新 ヒントをSTART.TXT:競合を解決した後、修正をマークパス ヒント: 'git add 'または 'git rm ' ヒント: 'git commit'で結果をコミットしてください – user2024080

+0

これはチェリーを変更しようとしたときにファイルに競合があることを意味します。競合を解決し、ファイルを 'git add 'して –

+0

をコミットします。両方のバージョンがローカルシステムでチェックアウトする必要がありますか? – user2024080

関連する問題