Sto iniziando a lavorare con git per la prima volta, e sto cercando di creare un flusso di lavoro che funzioni per me, quindi ho pensato di venire a chiedere in giro.
In questo momento, sono in un paio di progetti in cui sono l'unico programmatore e, in effetti, l'unico pusher all'origine.
Sto lavorando in questo modo, dove c
è un commit, p
è un push e m
è un unione:
/feature2-c-c-c-c-m-c-c-c-c
/ / \
master-----------------------m-p------m-p
\ / \
\-feature1-c-c-c-c-c-c-c-c-c-c-m-c-c
Ora ho capito che il rebasing sarebbe più "corretto" di quei merge master
che faccio nei rami delle funzionalità, o almeno è così che sembra ... ma non sono sicuro di farlo destra. Quello che ho capito ora è che unendo il master nei miei altri rami, mi pasticcio con la cronologia del mio ramo, e aggiungo tutte le funzioni indipendenti "che ci impegnano.
Forse dovrei ramificarmi di più, tramite la sottoattività, aggiungendo un terzo livello come questo:
....................\
master---------------------------m-p--m-p-....
\ / \
\-feature1------------m-----------m.....
\ / \
\-feature11-c-c-c feature12-c-c-c..
Questo lascia irrisolto il fatto che a volte una funzionalità è più grande di quello che dovrebbe essere un ramo.
Questi sono i miei pensieri sull'argomento fino ad ora, quindi sono molto aperto a suggerimenti su quale sia il miglior flusso di lavoro git nei team di una o due persone.
Spero che i diagrammi siano facili da seguire.