Dork” post=91351ok, ho fatto la richiesta di pull…e sono felice 🙂 allora ancora non mi è chiaro bene come funziona…
dunque..
faccio il fork (a che serve?)
faccio il clone (copio il repo originale così com’è nel mio computer…necessita il fork?!)
modifico (modifico :-))
commit (aggiorno il repo locale sul mio computer)
sincronizzo (carico la mia modifica in rete…compare come branch parallelo, almeno visivamente, ma non può essere fatto il merge perché io (o altri per me se sono stordito :-)) non ho dato il pre ok facendo il pull, giusto?)
faccio richiesta di pull (ovvero segnalo che il tutto è pronto per essere integrato)
merge del responsabile (che controlla e accetta o scarta)
Sì, è così. Il fork è necessario perché tu non potresti inviare con un push le tue modifiche sul repository originale (a meno che uno dei responsabili non ti autorizzi esplicitamente). Il flusso di lavoro che propone GitHub è quello di forkare il progetto originale, fare tutte le modifiche in locale e poi inviarle nel proprio repository forkato, infine richiedere la fusione. Questo modo di lavorare semplifica il lavoro di fusione, però non a tutti piace. L’alternativa è fare tutto in locale: clonare il repository originale, fare le modifiche solo in locale, e poi inviare via mail ai responsabili del progetto la patch (un file con le differenze fra il repository originale e quello tuo locale, si ottiene con [tt]git diff
Dork” post=91351per le modifiche avevo capito male, ovvero le cose stanno così:
da un branch io faccio diversi commit (sequenziali), mentre lui corre parallelo a quello principale (che magari non gestisco nemmeno io) volendo io (o il gestore se non sono io) posso prendere l’ultimo e farci il merge con il principale includendo tutto il ramo e ogni sua modifica, oppure posso raccogliere le ciliegie, ovvero alcuni singoli commit e inserire solo le modifiche fatte dai quei singoli commit senza interferire con il resto. In ogni caso accettare solo parte delle modifiche fatte in un commit è cosa diversa (fattibile dall’interfaccia grafica facendo clic sulle righe d’interesse prima di mandare il nuovo commit che le registrerà…(da riga di comando ovviamente si potrà fare ma non so come, e comunque meglio prima capire come funziona prima di come farlo :-)) se si tratta invece di accettare o ripristinare una parte delle modifiche di un commit precedente lo si seleziona (revert) si fa click sulle righe interessate e si manda il nuovo commit)giusto?
Direi di sì