2015-08-26 13 views
12

Ho sempre difficoltà a unire i rami su GitHub. Ammetto di non essere un esperto di Git CVS quindi preferisco usare strumenti visuali come GitHub Desktop e GitHub Website per raggiungere i miei obiettivi.C'è un modo per vedere unire conflitti su GitHub confrontando i rami?

Il modo in cui ho definito il nostro processo di dev è di avere 3 + N rami:

  1. maestro - rappresenta ambiente di produzione
  2. messa in scena - rappresenta staging ambiente
  3. sviluppo - ramo di sviluppo principale da dove tutti noi creiamo diramazioni di funzionalità/bug/hotfix

Quindi, quando uno vuole sviluppare qualcosa, crea un ramo di sviluppo e inizia ad implementarlo.

Quando lo sviluppo è fatto, il loro ramo di caratteristica viene poi fusa indietro nello sviluppo e se tutto va bene, sviluppo ramo è poi fusa in staging per il test.

Capisco che dal momento che non facciamo alcun test specifico sulla sviluppo ramo che potremmo facilmente scartarla e ci piacerebbe lavoriamo solo con maestro e messa in scena rami di realizzare per la stessa. Il ramo di stadiazione è in fase di test. Lievemente, ma lo è ancora.

ora ho uno sviluppatore che ha creato ora due caratteristiche e ogni volta che mi è stato la fusione di una richiesta di pull in sviluppo avevo problemi di unirlo. Il problema è Non so in realtà vedere i numeri sul Web (confrontare i rami per esempio) per dire al ragazzo come fare le cose in modo che io possa fare un lavoro effettivo piuttosto che gestire il nostro repository di codice. È frustrante almeno ...

Quindi ogni volta che creo una richiesta di pull. GitHub mi dice che ho alcuni conflitti di fusione che non possono essere risolti automaticamente, ma come vedo questi?

In realtà forniti i miei strumenti visivi, qual è il modo migliore per risolvere i problemi?

+0

C'è qualche motivo per cui non si può fare 'git merge' localmente? Questo ti mostrerebbe tutti i conflitti. È possibile interrompere l'unione in seguito.Se si sceglie di mantenere l'unione e risolvere i conflitti, è possibile reinserire il ramo in GitHub e il pulsante di unione diventerà verde indicando che può eseguire l'unione sul telecomando. –

+0

@TimBiegeleisen: Ok? Ma come faccio a farlo in GH Desktop? Se faccio una richiesta di pull, è immediatamente sincronizzato con GitHub, perché posso vederlo immediatamente sul web. –

+0

Preferisco usare lo strumento da riga di comando Git. Non riesci/non vuoi usare questo? Ho sempre trovato GitHub carente quando avevo bisogno di una risoluzione a grana fine su ciò che stava accadendo. Tipicamente GitHub si aspetta che la persona che fa la richiesta di fusione faccia la sua due diligence e si assicuri che tutti i conflitti siano risolti. –

risposta

3

io non sono sicuro se questo aiuta, ma GitHub ha recentemente released conflict resolution on the web interface:

github merge conflicts

Se si utilizzano le richieste di pull, questo sarà in grado di aiutare un bel po '. Se non lo fai (bummber) allora potrebbe essere eccessivo usare la richiesta di pull solo per vedere il conflitto. La cosa buona è che, a meno che non si abbiano conflitti complessi (file rinominati/spostati), questo non solo mostrerà il conflitto, ma richiederà di risolverlo.

Spero che questo aiuti.