Ho deciso che è tempo per me di iniziare a utilizzare Git su un progetto PHP che ho sviluppato casualmente per oltre un decennio. (Per favore, non ci sono lezioni da parte della polizia di controllo della versione!) A causa della complessa configurazione richiesta al mio VPS per fare tutto ciò di cui ha bisogno il progetto (specialmente la struttura single-codebase-multiplo-client e l'installazione giapponese di TeX per creare PDF speciali), non è possibile impostare un ambiente di sviluppo sulla mia casella Windows locale. Ma ho un'area testbed sul server in cui posso giocare, quindi è la mia area di sviluppo. Attualmente utilizzo Filezilla per accedere al server e aprire i file direttamente in Notepad ++, e quando sono pronto per vedere la mia modifica in azione, salvo solo caricare Filezilla. Quando tutto sembra a posto sul piatto di prova, copio i file nell'area di base del codice di produzione. Sì, questo non mi dà alcuna storia dei miei cambiamenti se non i miei stessi commenti, e devo stare attento a non mescolare correzioni di bug con le nuove funzionalità a metà. Riesco a vedere il valore delle filiali di Git per diversi aggiornamenti in corso.Flusso di lavoro Git per sviluppatore solitario (new git newbie)
Ieri mi sono bagnato le dita dei piedi. Per prima cosa ho creato un account Github e poi (su consiglio di un tutorial) ho installato Git For Windows (con la sua interfaccia grafica Bash e minuscola) e Kdiff3 e ho seguito alcune istruzioni per configurare Git Bash. Dopotutto, però, ho dovuto installare qualcos'altro per interfacciarmi con il mio account Github (opportunamente chiamato Github per Windows), che sembra fare tutte le cose che gli altri due programmi avrebbero dovuto fare per me. Ad ogni modo, ho fatto un semplice compito come la mia prima incursione nel mondo di Github: avevo aggiunto funzionalità al plugin jQuery di qualcun altro e volevo condividerlo con lo sviluppatore, così ho biforcuto il suo repository, clonato nella mia macchina , ho sovrascritto il file che avevo precedentemente modificato e testato, sincronizzato nel mio account Github e ho inviato una richiesta di caricamento . Tutta la terminologia in quell'ultima frase era nuova per me, quindi ero abbastanza orgoglioso di me stesso che mi sono fatto così lontano. ;) Ma immagino di aver solo bisogno del software Github, non del software Git: è difficile sapere a quali tutorial credere.
In ogni caso, ora voglio capire un flusso di lavoro per le mie cose, che è la mia vera domanda per voi ragazzi. Da quello che posso dire, avendo il master repo ovunque, ma il pubblico Github costa denaro, e non mi interessa se gli altri vedono il mio codice (non mi aspetto che nessun altro lavori sul mio progetto oddball fatto di spaghetti code, ma se loro vogliono, è grandioso). Ok, ma allora? Forse uno di questi scenari, o qualcosa d'altro:
rami clone del pronti contro termine al mio PC, effettuare modifiche sui file locali, e caricarli in Filezilla per il test (un paio di clic in più rispetto al mio flusso di lavoro attuale, perché Filezilla non vede automaticamente la relazione tra il file locale e il file remoto, ma non è un grosso problema). Poi, quando sono soddisfatto del codice, eseguo il commit localmente, sincronizzo con Github e copio i file (da qualche parte - non sono sicuro su questo punto) nell'area di produzione.
Installare il sapore Linux di Git sul mio VPS in modo che il percorso del file Git "locale" sia il banco di prova e utilizzare Git attraverso PuTTY per eseguire i commit locali. Più semplice per la struttura del file (senza bisogno di una copia sul mio PC a tutti), ma più complesse da usare Git:
- Io non sono su PuTTY molto frequentemente, e per qualche motivo la connessione muore spesso su di me e io riavviare.
- Anche se la linea di comando di Linux è l'habitat nativo di Git, sono probabilmente più a mio agio con una GUI (perché dimentico rapidamente la sintassi del comando, vecchio cervello, immagino).
Inoltre, poiché non ho mai finito di usare il programma Git che ho installato qui, non sono sicuro che sarebbe Git o Github che userei sul server.
Qualche altro scenario, dal momento che né # 1 né # 2 utilizzano Git/Github per gestire l'area del file di produzione, il che probabilmente sarebbe una buona idea in modo che non dimentichi di copiare tutto ciò di cui ho bisogno.
ho cercato di ricerca la possibilità di una GUI basata su PHP per andare con l'idea # 2 (quindi non c'è bisogno di usare mastice per le operazioni giorno per giorno), ma sembra che le discussioni di tali strumenti tutti presuppongono che si stia tentando di creare il proprio servizio Github, o che il repository clonato "locale" sia fisicamente sul PC locale (con xAMP in esecuzione su qualunque sistema operativo sia). Ma forse il software Github che ho usato è sufficiente per fare tutto questo, è difficile da dire. Non ho ancora capito l'interazione tra un master repo pubblico su Github, filiali da qualche parte (su Github anche?), Almeno due set di file sul mio server web (il banco di prova e l'area di produzione), software Github, software Git, e la tastiera/lo schermo del computer in cui sono seduto.
Quindi perdona le mie parolacce ai novizi, ma se qualcuno là fuori ha una situazione di sviluppo simile, qual è il tuo flusso di lavoro? O cosa suggeriresti per me?
TLDR - ma se è necessaria una configurazione locale per il mirroring del telecomando, controllare vagabondo. –
È sempre possibile configurare un ambiente di sviluppo, ed è la prima cosa che dovresti esaminare. VirtualBox e vagabondo ti aiuteranno. – deceze
Anche se hai detto che non ti importa che i tuoi repository git siano pubblici in github, puoi avere repository git privati su http://bitbucket.org (fino a 5 sviluppatori IIRC) –