2015-04-01 13 views
6

Supponiamo che abbia un nuovo sistema senza cronologia git e prendo un nuovo checkout del ramo A. Il ramo A ha già un commit C1 che ho fatto ieri da qualche altro sistema. Ora voglio cherry-pick questo commit C1 nel ramo B. Problema:Come eseguire il cherry pick dal ramo A al ramo B su un sistema senza cronologia?

  1. Se prendo checkout del ramo di A e andare a commettere C1 (nella storia in vista Git) e fare clic su 'selezionamento ciliegia', Dice che vuoi selezionare il ramo A? Quindi, non c'è discussione del ramo B qui.
  2. Se prendo il checkout del ramo B, questo non mostrerà il commit C1.

Ora, come faccio a selezionare il commit C1 del ramo A nel ramo B? Sto usando Gerrit, GitBlit e EGit in eclissi.

risposta

4

Non ho familiarità con la GUI che si sta utilizzando in particolare, ma il concetto che si sta descrivendo è perfettamente accettabile in git.

Per cherry-pick un commit di ramo A al ramo B, utilizzare i seguenti comandi da riga di comando:

git checkout branchB 
git cherry-pick hashOfC1 

Ci dovrebbe essere una sorta di 'vista tutti i rami' modalità nella GUI che si sta utilizzando in modo che puoi vedere commit C1 mentre hai il ramo B estratto, ma se no, i comandi sopra sono abbastanza semplici da eseguire.

+0

Credo che ci sono i comandi per git bash. Posso farlo usando egit da eclipse? –

+1

La [guida dell'utente EGit] (https://wiki.eclipse.org/EGit/User_Guide#Cherry-pick_Introduction) ha un ottimo esempio su come selezionare i caratteri dalla loro interfaccia utente. –

+2

OTTENUTO !!! Il colpevole era un piccolo cilindro nell'angolo in alto a destra della vista cronologica che diceva "Mostra tutte le modifiche nel repository contenente la risorsa selezionata". Questo deve essere selezionato per mostrare i commit di tutti i rami. Tuttavia, questo lascia una domanda aperta. Quando eseguo il checkout del ramo B, estraggo tutti i dettagli di tutti i rami per aggiornare questo albero della cronologia? –

8

Il commento di Qualatar è un po 'obsoleto, ecco come visualizzare tutti i rami in' Mostra cronologia 'in' Versione: Luna SR2 (4.4.2) 'in modo che sia possibile fare clic con il pulsante destro del mouse> Cherry Pick.

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

5

goto "Team Sincronizzazione", fate clic destro sul progetto per visualizzare il menu. seleziona mostra In -> Cronologia. Verrà visualizzata la scheda Cronologia con i gruppi di modifiche.

enter image description here history tool bar

quando si fa clic sull'icona con 2 frecce verso il basso poi si vedrà tutti i cambiamenti, anche quelli non dal ramo. clic destro su di modifiche che si desidera scegliere ciliegia e quindi selezionare Cherry Scegli opzione .. come mostrato in figura

enter image description here