2015-05-05 8 views
13

Ho un repository e alcune modifiche locali da impegnare. Prima di eseguire il commit, ho apportato le modifiche al mio locale utilizzando Egit in Eclipse.Come evitare l'unione di commit da Git pull quando si preme il telecomando

Crea un merge commit e invio il commit su di esso.

Ora, quando sto provando a premere verso l'origine, sta mostrando che spingerà il mio commit così come unire commit. Ma idealmente, l'unione di commit non dovrebbe far parte del repository remoto.

Come evitare questo?

+2

Troverete un sacco di informazioni qui: https://www.atlassian.com/git/tutorials/merging-vs- rebasing/workflow-walkthrough – Ryp

+1

possibile duplicazione di [workflow git e rebase contro domande di unione] (http://stackoverflow.com/questions/457927/git-workflow-and-rebase-vs-merge-questions) – raina77ow

risposta

19

Utilizzare l'opzione rebase ogni volta che si estrae dall'archivio remoto. Segui i passaggi seguenti,

  1. Conferma le tue modifiche: creerà un nuovo commit nel tuo locale.
  2. Ora fare git pull --rebase <remote-name> <branch-name>.
  3. Fondamentalmente il rebase prende i tuoi commit che hai commesso sul ramo corrente HEAD come patch. Quindi applicherà tutti i commit da remoto sopra a HEAD e quindi applicherà i tuoi commit su di esso.
  4. Quindi la migliore pratica è di eseguire il commit delle modifiche, quindi tirare i commit da remoto usando l'opzione rebase.
3

La strategia abituale è lavorare su una filiale. Quando il master remoto cambia, trascina le modifiche in Master e invece di unire, rebase il ramo.

Vedere Git Rebase in Atlassian.

1

Quando si dispone di modifiche non, si può fare,

git stash 
git pull --rebase <remote> <branch> 
git stash pop 
Problemi correlati