Re: Chiedo alcuni chiarimenti su Github.

Simone Dal Maso
 

io purtroppo ti rispondo a poche cose...
direi che la prima è un po' importante, perché dovresti cominciare
prima di tutto con un pilastro fondamentale: scrivere jithub
correttamente.
Si scrive con la J di John, non con la g di giocattolo.
Ecco, già una cosa l'abbiamo sistemata!
Poi in realtà, a livello concettuale ci sei, nel senso che hai capito
bene, jithub è un posto dove si condivide il codice. Integra un mare
di servizi e in buona sostanza il creatore del progetto ha l'ultima
parola. Visto che è lui poi a definire l'importanza dei developer.
Considera che ogni file mantiene la sua cronologia, quindi volendo io
potrei andare a guardare le modifiche che sono state fatte 5 mesi fa.
I file non sono mai compilati.
Dipende dalla bontà dello sviiluppatore mettere a disposizione
l'eseguibile o il binario agli utenti.
Un esempio, il tizio che ha fatto eloquence per la nuova versione di
NVDA ha pensato bene di compilarla. Bravo?
Sì!
Ma però questo simpatichino ha lasciato un mare di bug che in buona sostanza
ne impediscono il funzionamento per le lingue latine ed arabiche.
O arabe?
Forse arabe, arabico è il caffè:
Vabbè insomma, quelle con tante l e h.
Gli è stato segnalato mediante l'apertura di un issue, i ticket si
chiamano così.
Lui ha corretto tutto ma non ha compilato un bel niente.
Perciò il risultato è che il 95% degli utenti non saranno in grado di
sistemarsi eloquence! è così da agosto 2019, vedi un po' te.
In questo caso basta sotituire un file, ma è comunque una cosa pallosa.
Per quanto riguarda come lavorare, sei tu che lo decidi. Ci sono
client online e client offline.
Io preferisco la vecchia maniera, client offline, pastrocio sul mio pc
e poi faccio l'upload.
Ciao!



Il 22/01/20, Gabriele Battaglia via
Groups.Io<iz4apu=libero.it@groups.io> ha scritto:
Ciao a tutti e grazie in generale per la qualità dei messaggi di questi
ultimi giorni. Sto seguendo con interesse la lista ed ho letto dei bei
messaggi che mi hanno arricchito.

Desideravo chiedere a chi lo conosce, qualcosa su Github. Prima però
devo scrivere un rapido preambolo.
Io ho un account ma non ci ho mai fatto nulla. Quanto chiedo
probabilmente lo potrei scoprire da solo girando per il sito, facendo
prove o leggendone le relative guide. Chiedo per pigrizia, nel tentativo
di risparmiare tempo e di ricevere in forma condensata quelle
informazioni che troverei ugualmente in documenti molto lunghi, in
inglese e magari sparpagliati qua e là su molte pagine.
Mi rendo altrettanto conto però, che anche il vostro tempo sia prezioso
e che non ne avete certo da buttare per scrivermi ciò che è già scritto
da qualche parte. Quindi ho pensato di richiedervi uno sforzo minimo,
potreste scrivere si o no, oppure nel caso lo riteniate qualche commento
extra, direttamente sotto le mie affermazioni?
Non mi servono istruzioni dettagliate, voglio solo avere un'idea
generale sul perchè esiste github e sul perchè uno dovrebbe usarlo.

Grazie a tutti quelli che sono arrivati fin qui, ai quali per altro
chiedo perdono per la mia indolenza.

Github ha lo scopo di permettere a più persone di collaborare per
sviulppare un software che sia libero cioè le cui sorgenti siano
visibili e modificabili da tutti. Questo so che è vero ma. Se io ho un
account, entro su Github, scelgo un progetto, visualizzo il codice,
applico una modifica e poi ne faccio upload sul server, ho modificato il
software per tutti?
Non è pericoloso?

Oppure forse creo automaticamente uno branch?

Mi spiego. Ammettiamo che io, sviluppatore indipendente, crei un
progetto tipo app per il trasporto pubblico che mi permette di vedere
gli orari dei treni.
Poi arriva Simone, guarda i miei sorgenti li modifica e ci aggiunge la
possibilità di vedere anche gli orari del Flixbus; quindi carica tutto
su Github.
A questo punto avremo 2 rami? La mia con solo i treni e la sua con 2 cose?
Poi, quale dei 2 rami sarà considerato principale, la mia che sono il
creatore e che è più vecchia e meno completa, o lui che magari è meno
conosciuto e potenzialmente un hacker cattivo, ma che ha una versione
più buona e più recente?

E cosa succede se io, visto il codice di Simone, lo approvo e mi piace e
decido di includerlo nell'app ufficiale? Quel ramo scompare, o se ne
crea un terzo con le 2 versioni unite?

Adesso mettiamo che arrivi anche Alberto a complicare le cose. Guarda il
software e ci trova un bug terrificante, però non ha ne voglia ne tempo
per metterlo a posto ma ce lo vuole solo segnalare. Che possibilità ha
per farlo?
Intanto, apre un ticket immagino, ma su quale ramo dell'App? E il ticket
chi lo legge, io, Simone o entrambi.... oppure tutti?

Adesso mettiamo che arrivi anche Chris, il quale ha un'ideona:
aggiungere anche gli orari dei voli di Alitalia. Ma si sa che quando c'è
in mezzo Alitalia, non che Trenitalia sia poi così rose e fiori, succede
sempre qualche casino. Le intenzioni di Chris erano ottime ma però gli
scappa un buggone enorme.
Io, tronfio e fiducioso, non me ne accorgo, mentre Simone, decisamente
più sveglio ed attento, sì.
Io voglio includere la versione di Chris nella mia app principale perchè
non credo che abbia sbagliato, Simone invece insiste che in quella di
Chris c'è qualcosa che non va. Non arriviamo ad un accordo e proseguiamo
su 2 strade diverse... Beh, la mia sarà molto corta ma ancora non posso
saperlo. A questo punto che succede: si creano 2 rami principali? Ma
possono mantenere lo stesso nome?
E se poi si creano 2 partiti, i battaglini e i dalmasiani, questi 2 rami
possono poi suddividersi a propria volta in altri sottorami, tipo una
con gli orari del ferribot per la Corsica, e l'altra con quello dei
carrelli dei minatori di Joannesburg, o come cavolo si scrive?

Poi, perchè quando si entra in un progetto, oltre all'eseguibile, a
proposito, viene compilato automaticamente? Si possono sfogliare anche
tutti i file del progetto? Non ditemi che anche di ogni singolo file di
un progetto si possono creare dei branches, vi prego; cioè se io
correggo una guida in HTML, quando avrò finito ci sarà la versione
originale della guida, più il branch con la mia aggiornata?

E poi l'ultima questione, per me forse la più complessa. Un
repository... Cioè, ho capito bene che è una specie di... diciamo così,
Dropbox, che sincronizza un progetto sul proprio computer e
sull'apposita area web di Github. Ovvero, se io creo un'app... Prima la
faccio dalla pagina di Github, poi in un qualche modo ne scarico una
versione in locale, costantemente sincronizzata, quindi lavoro sempre in
locale, giusto?
E che client permette questa sincronizzazione?
Oppure non ho capito una beata mazza, e non si lavora così?

So che è tanta roba. Grazie a chi avrà la pazienza.

Gabry.

--
Gabriele Battaglia, IZ4APU (Libero)
Sent from TB on Windows 10, Genus Bononiae's computer.




--
Simone Dal Maso
www.nvapple.it
www.nvda.it

Join nvda-it@groups.io to automatically receive all group messages.