Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Git Qualche buona guida?
Forum - Tutto e di + - Git Qualche buona guida?

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:23
Martedì, 02/01/2018
Salve ragazzi,

Avrei voluto contribuire in molti progetti ultimamente, ho anche provato
a fixare diversi bug di diversi progetti ma mi sfugge completamente l'argomento git.

Esiste qualche buona guida dettagliata sull'utilizzo di git?

Come si può fornire un proprio contributo?
Cosa sono i vari branches e hotfix?



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 18:49
Martedì, 02/01/2018
Git è un sistema per il controllo della versione di un progetto (puoi utilizzarlo anche per un progetto non software).
Non sono un esperto ma posso dirti che:
In poche parole è uno strumento che aiuta nel tenere nota di tutti i vari cambiamenti apportati al tuo codice.
Appena inizi un progetto avvalendoti di Git, Il sistema effettua una "copia" del sorgente, e piano piano modifichi i vai sorgenti, lu ne registra le modifiche.
E' un sistema distribuito. Anche se c'è sempre un repository centrale, ogni utente può avere accesso completo al progetto e modificarlo. Ogni utente infatti può creare una branche, che è una sorta di ramo con la propria modifica. In un momento successivo è possibile unire varie modifiche tramite un merge. Infatti, come spesso accede, chi utilizza Git salva in locale una copia del repository e ci lavora comodamente off-line. Successivamente effettua un commit (che sarebbe l'invio delle modifiche al repository).
La differenza tra altri sistemi è principalmente questa, ad esempio con SVN, mi pare di ricordare che l'accesso al repository per registrare le modifiche al progetto può avvenire solo un utente alla volta, e che bisogna essere online. Questo, se da una parte non potrebbe essere una buona cosa dall'altra può evitare il problema che tutti gli utenti lavorino sulle stesse modifiche da apportare (SVN dovrebbe registrare anche, chi sta modificando cosa).
Non esiste un sistema migliore in assoluto. Git è abbastanza giovane rispetto alle controparti ed è molto semplice da usare.

Per rispondere alle altre tue domande:
Guide dettagliate ne trovi di buone su Amazon (scarta quelle in italiano XD), io ho iniziato a leggere
Pro Git di Scott Chacon e Ben Straub (ma con i miei tempi visto che è solo in inglese Xd)
Se vuoi partecipare ad un progetto, iscriviti a GitHub uno dei migliori posti per i progetti che utilizzano Git, puoi partecipare tranquillamente


Ultima modifica effettuata da Mikelius il 02/01/2018 alle 18:50
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:45
Martedì, 02/01/2018
Confermo Pro Git come libro, e' in inglese, ma copre bene l'argomento. Nota inoltre che esistono delle interfacce grafiche se sei agli inizi. Vedi gitkraken.

Ultima modifica effettuata da pierotofy il 02/01/2018 alle 19:47


Il mio blog: https://piero.dev
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 20:20
Martedì, 02/01/2018
Testo quotato

Postato originariamente da pierotofy:

Confermo Pro Git come libro, e' in inglese, ma copre bene l'argomento. Nota inoltre che esistono delle interfacce grafiche se sei agli inizi. Vedi gitkraken.



Menziono GitHub come GUI.

Comunque esistono anche delle estensioni per Visual Studio che si integrano molto bene con l'IDE (non so per gli altri)

Sopratutto quela di Git è compresa come opzione d'installazione.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 23:12
Martedì, 02/01/2018
Grazie per le informazioni.
Cmq si, conosco Git e lo uso pure.

Ma non sono riuscito a capire come condividere modifiche apportate.
anche perché uso attualmente git bash.

ho fatto diversi progettini ovviamente da owner, e facile fare un commit.
il problema sta appunto come condividere modifiche.
ho avuto problemi anche con Pizza bot.
non sono riuscito in nessun modo ad apportare modifiche.

Seguirò i vostri consigli, prima con un libro poi con Git GUI.

Ultima modifica effettuata da Thejuster il 02/01/2018 alle 23:14


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:16
Mercoledì, 03/01/2018
Tipicamente:

1) Fai un fork del repository dove vuoi contribuire. Dopodiche' fai un checkout del tuo repository:

Codice sorgente - presumibilmente Plain Text

  1. git clone ...



2) Scegli la brancia su cui fare la modifica (solitamente master)

Codice sorgente - presumibilmente Plain Text

  1. git checkout master



3) Crei una nuova brancia. Su questa brancia farai le tue modifiche.

Codice sorgente - presumibilmente Plain Text

  1. git checkout -b nuova-brancia
  2. # fai modifiche...
  3. git commit -a -m "Nuova feature!"



4) Pubblichi la tua brancia sul tuo fork remoto:

Codice sorgente - presumibilmente Plain Text

  1. git push origin nuova-brancia



5) Apri una pull request tramite GitHub.


Il mio blog: https://piero.dev
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:33
Mercoledì, 03/01/2018
Ah ecco grazie piero.
Credevo che era come svn.
Bastava un commit e l l'amministratore del progetto accettava il cambiamento invece e diverso.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 11:36
Mercoledì, 03/01/2018
Testo quotato

Postato originariamente da Thejuster:

Ah ecco grazie piero.
Credevo che era come svn.
Bastava un commit e l l'amministratore del progetto accettava il cambiamento invece e diverso.


Si, come scritto in precedenza, Git e' un sistema distribuito, non c'è bisogno dell'ok dell'Amministratore per postare le modifice, in teoria tutti possono crearsi un ramo ed apportare la stessa modifica al progetto. Successivamente l'amministratore può effettuare un MERGE sul ramo MASTER con la modifica che più gli aggrada.
Attensione ad una cosa, Git non accetta di default le cartelle vuote, perchè in esse non può esserci un cambiamento, quindi non ti stupire se il comando git add non funzioni con esse. Ma basta creare un file vuoto dentro la cartella e sei apposto.


Per iniziare a prenderci la mano ti consiglio vivamente GitHub, è una GUI ben fatta e semplice da usare. Basta solo iscriversi al sito per poter postare i propri progetti e modifiche.

Ultima modifica effettuata da Mikelius il 03/01/2018 alle 12:45
PM Quote