Vorrei un feedback sul mio flusso di lavoro git perché questo è il mio primo utilizzo e, nonostante la lettura di vari articoli e domande di Stack Overflow, non sono sicuro che il mio processo sia corretto. Questo è il mio flusso di lavoro corrente (nota che sto usando Github per l'applicazione Windows per tutte le mie interazioni git):Flusso di lavoro Github per singolo sviluppatore
- Decidere quale sarà la prossima caratteristica che implementerò.
- Creare un ramo con un nome adeguatamente descrittivo per la funzione. Lo faccio facendo clic sul pulsante di diramazione in Github per Windows e digitando un nuovo nome.
- Scrivere un codice.
- Confermare quelle modifiche al mio nuovo ramo.
- Scrivere un altro codice.
- Confermare quelle modifiche al mio nuovo ramo.
- Ho finito di implementare la funzione, quindi voglio unire le mie modifiche al ramo principale. Quindi faccio clic sul pulsante "Gestisci" sotto l'intestazione del ramo.
- Unire il nuovo ramo nel ramo principale.
- Elimina il nuovo ramo.
Sono abbastanza soddisfatto del processo fino al passaggio 7, a quel punto sono un po 'confuso. Penso che la mia confusione risieda nel fatto che sto cercando di utilizzare l'applicazione Github per Windows invece di usare la riga di comando. L'applicazione sembra semplificare le cose ma c'è un po 'di disconnessione nella mia comprensione tra alcuni dei comandi/istruzioni che vedo menzionati e le azioni che dovresti fare nell'applicazione.
Vorrei porre alcune domande specifiche:
- È il mio flusso di lavoro in realtà corretta? In caso contrario, cosa c'è di sbagliato e come posso migliorarlo?
- Devo "pubblicare" le mie modifiche al nuovo ramo? La mia comprensione è che questo è l'equivalente di fare
git push
alla riga di comando. È vero? Se è così, penso che vorrei solo farlo quando avrò finito di implementare la funzione o se è in uno stato decente? - Devo eliminare il ramo quando l'ho fuso nel ramo principale o dovrebbe essere lasciato per sempre?
- Devo pubblicare il ramo principale quando ho completato l'unione o è implicito?
- io sono a volte in grado di eseguire la stampa e ottenere questo messaggio di errore:
Impossibile unire
Impossibile unire i 'test' in 'master'. Potrebbe essere necessario aprire una shell e eseguire il debug dello stato di questo repository.
Quando questo è avvenuto prima, ero in grado di cambiare al ramo master e unire il nuovo ramo in ramo principale, tuttavia, che non funziona più. Non importa in quale ramo mi trovi, non posso unire i due rami. Entrambi sono sincronizzati e ho pubblicato tutte le modifiche dal mio ramo test. Cosa dovrei digitare nella shell per scoprire perché non riesco a unire i rami?
Per riferimento, questi sono i principali collegamenti che hanno spinto il mio processo:
- Scott Chacon on the workflow at Gitub
- Git workflow for a single developer on a local repository
- Git workflow for a single user
Grazie - è bello sapere che sono sulla strada giusta! Sono ancora un po 'confuso dai rami però e penso che sia da lì che proviene il mio mal di testa. Quando creo un nuovo ramo in Github per Windows, dovrei aspettarmi che creerebbe una nuova directory da qualche parte? Perché se così non fosse non sto semplicemente modificando il codice che si trova nel mio ramo principale? – Stu
Git memorizza tutto in un gruppo di delta nella cartella .git. Quindi quando crei un nuovo ramo, è come se stessi lavorando a una copia del tuo ramo master/clonato. Ma è tutto nella stessa cartella (commettere alcune modifiche e capovolgere i rami e riaprire il file per vedere). Tieni d'occhio il ramo che hai controllato, perché può essere facile iniziare a scrivere un sacco di cose, dimenticando che non hai cambiato ramo e finisci col commettere il master invece del tuo ramo delle funzionalità. È qui che i cestini sono molto utili. – yellottyellott
Ci scusiamo per non aver accettato prima la risposta alla mia domanda, alcuni come mi sembra che abbia perso il tuo ultimo commento che ha risposto a tutte le mie domande. Grazie mille! – Stu