web-dev-qa-db-ja.com

履歴のないシステムでブランチAからブランチBにチェリーピックする方法は?

Git履歴のない新しいシステムがあり、ブランチAを新たにチェックアウトするとします。ブランチAには、他のシステムから昨日行ったコミットC1がすでにあります。次に、このコミットC1をブランチBでチェリーピックします。問題:

  1. ブランチAをチェックアウトしてC1(Gitビューの履歴)をコミットし、[チェリーピック]をクリックすると、ブランチAでチェリーピックしますか?したがって、ここではブランチBの説明はありません。
  2. ブランチBをチェックアウトすると、コミットC1はまったく表示されません。

では、ブランチAのコミットC1をブランチBにチェリーピックするにはどうすればよいですか?私はEclipseでGerrit、GitBlit、EGitを使用しています。

12
Farrukh Chishti

私はあなたが特に使用しているGUIに精通していませんが、あなたが説明している概念はgitでは完全に受け入れられます。

ブランチAからブランチBにコミットを選択するには、次のコマンドラインコマンドを使用します。

git checkout branchB
git cherry-pick hashOfC1

ブランチBがチェックアウトされているときにコミットC1を確認できるように、使用しているGUIに「すべてのブランチを表示する」モードがあるはずですが、そうでない場合、上記のコマンドは実行するのに十分簡単です。

6
Ben Siver

クアラタールのコメントは少し古くなっています。ここでは、「バージョン:Luna SR2(4.4.2)」の「履歴を表示」にすべてのブランチを表示して、「右クリック>チェリーピック」を選択する方法を示します。

how to see all commits in Eclipse IDE EGIT to cherry pick

13

「チームの同期」に移動し、プロジェクトを右クリックしてメニューを表示します。 [表示]-> [履歴]を選択します。これにより、変更セットを含む[履歴]タブが表示されます。

enter image description herehistory tool bar

下向きの2つの矢印が付いたアイコンをクリックすると、ブランチ以外からの変更もすべて表示されます。チェリーピックするチェンジセットを右クリックして、図に示すようにチェリーピック..オプションを選択します

enter image description here

ステップ:他のブランチから選択

現在のブランチを切り替えます

enter image description here

  1. クリック/チェック/すべてのブランチを表示
  2. 選択して右クリック->チェリーコミットを選択

enter image description here

  1. 終了するまで続けます。
  2. プロジェクトを右クリックし、現在のブランチでコミットをプッシュします。
1
Farid Blaster