Nuova guida tematica: Git 4 LaTeX

  • Creatore
    Topic
  • #89989
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::


      È disponibile la nuova guida tematica di Mosè Giordano e Pietro Giuffrida sull’uso di git per progetti LaTeX.
      Gli utenti possono gestire i sorgenti di tesi di laurea e di documenti complessi in tutta sicurezza senza più preoccuparsi di come eseguire il backup e salvare le varie versioni successive dei file.

      Complimenti agli Autori…

      Scaricatela dalla sezione Documentazione del sito oppure direttamente da questo link.

      Al solito, potete usare questo filone per commenti ed osservazioni, ma non dimenticate che sul repository https://github.com/GuITeX è possibile contribuire al lavoro in modo aperto con gli stessi strumenti e metodi spiegati dalla guida.
      Un saluto.
      R.

    Visualizzazione 36 filoni di risposte
    • Autore
      Risposte
      • #89990
        Up
        0
        Down
        ::


        Grazie mille e complimenti agli autori per la nuova guida tematica! 🙂

        Ciao
        Claudio

      • #89991
        claudio
        Partecipante
          Up
          0
          Down
          ::


          e se uno usa windows ?
          vorrei far delle prove
          che client consigliate?
          ciao
          claudio

        • #89992
          Up
          0
          Down
          ::

          claudio” post=89530e se uno usa windows ?
          vorrei far delle prove
          che client consigliate?
          ciao
          claudio

          Ti riferisci alle GUI? Installando Git viene fornita anche una GUI, però personalmente non uso Windows e quindi non saprei come sia. Come indicato nella guida puoi dare anche un’occhiata all’elenco che trovi qui: http://git-scm.com/downloads/guis Se hai intenzione di usare GitHub probabilmente GitHub for Windows è una buona idea, però considera che è strettamente legato a quel sito, non so che rapporto abbia con repository solo locali o salvati su server diversi da GitHub

        • #89993
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            claudio” post=89530e se uno usa windows ?
            vorrei far delle prove
            che client consigliate?
            ciao
            claudio

            Ciao,
            io su Windows ho installato msysGit e mi trovo bene.
            Saluti.
            R.

          • #89994
            Up
            0
            Down
            ::

            claudio” post=89530e se uno usa windows ?
            vorrei far delle prove
            che client consigliate?
            ciao
            claudio

            Premesso che uso git solo sul mac (a casa), su windows per subversion trovo molto comodotortoisesvn, quindi forse vale la pena di provare tortoisegit.

            Ciao,
            Matteo

          • #89995
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              matteo.l” post=89540

              e se uno usa windows ?
              vorrei far delle prove
              che client consigliate?
              ciao
              claudio

              Premesso che uso git solo sul mac (a casa), su windows per subversion trovo molto comodotortoisesvn, quindi forse vale la pena di provare tortoisegit.

              Ciao,
              Matteo

              Ho consultato la pagina web di tortoisegit. Penso sia molto simpatico perché con msysGit non uso l’interfaccia grafica perché poco chiara mentre con tortoisegit mi sembra più semplice.
              Grazie.
              R.

            • #89996
              Liverpool
              Partecipante
                Up
                0
                Down
                ::


                Siccome a volte, anche a distanza di anni, ritorno sui miei passi e mi piace vedere cosa avevo scritto in una versione precedente, mi piace il comando [tt]archive[/tt] che permette di copiare uno specifico commit in un archivio compresso e quindi in una cartella indipendente. Lo trovo più comodo e meno pericoloso di passare ad un commit precedente e compilare il codice solo per vedere il risultato, per poi dover ritornare all’ultimo commit e ricompilare. Io lo aggiungerei alla guida.

                Ciao

                P.S. Io uso sourcetree ma conosco solo quello e non me la sento di dare consigli. Sinceramente sono il tipico utente che usa l’interfaccia grafica a volontà. Lo trovo visivamente più efficace perché vedo tutti i rami con un colpo d’occhio.

              • #89997
                claudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  onestamente non avevo mai utilizzato uno strumento simile
                  ora che grazie alla guida l’ho incominciato ad utilizzarlo ne apprezzo i vantaggi
                  grazie per il vostro lavoro
                  claudio

                • #89998
                  Up
                  0
                  Down
                  ::

                  Liverpool” post=89559Siccome a volte, anche a distanza di anni, ritorno sui miei passi e mi piace vedere cosa avevo scritto in una versione precedente, mi piace il comando [tt]archive[/tt] che permette di copiare uno specifico commit in un archivio compresso e quindi in una cartella indipendente. Lo trovo più comodo e meno pericoloso di passare ad un commit precedente e compilare il codice solo per vedere il risultato, per poi dover ritornare all’ultimo commit e ricompilare. Io lo aggiungerei alla guida.

                  Ho aggiunto questo suggerimento nel TODO. Personalmente non ho mai sentito il bisogno di usare [tt]git archive[/tt], però comprendo la tua necessità e riconosco che a qualcuno possa tornare utile.

                  claudio” post=89628onestamente non avevo mai utilizzato uno strumento simile
                  ora che grazie alla guida l’ho incominciato ad utilizzarlo ne apprezzo i vantaggi
                  grazie per il vostro lavoro
                  claudio

                  Da quando uso Git (ma il discorso vale per qualsiasi VCS) ho sempre la tranquillità di poter fare tutti gli esperimenti che voglio con il mio codice, tanto posso sempre a una versione precedente. Inoltre se si usa un repository remoto c’è anche la sicurezza di avere sempre una copia di backup a propria disposizione, almeno finché il server rimane raggiungibile 😀 Nella guida non è ancora spiegato ma sarebbe interessante aggiungerlo in una futura versione, si può usare come “remoto” non necessariamente un server ma anche una qualsiasi cartella, che potrebbe essere un dispositivo removibile o altro

                • #89999
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    Ti riferisci alle GUI? Installando Git viene fornita anche una GUI, però personalmente non uso Windows e quindi non saprei come sia. Come indicato nella guida puoi dare anche un’occhiata all’elenco che trovi qui: git-scm.com/downloads/guis Se hai intenzione di usare GitHub probabilmente GitHub for Windows è una buona idea, però considera che è strettamente legato a quel sito, non so che rapporto abbia con repository solo locali o salvati su server diversi da GitHub

                    Nel sito che hai indicato sono elencati una decina di GUI alcune gratuite, alcune no; non ho scaricato tutte quelle gratuite, ma sono iruscito ad installarne solo 2; GitHub e SourceTree. La prima, appena aperta non mi fa andare avanti se non ho un repository esterno; a seconda più o meno, ma lascia anche aprire un repository locale. Non posso dire di averle usate per davvero, quindi non so quanto siano utili e comaode da usare.

                    Tuttavia, tanto per citarne due, git-cola richiede di essere installato sul Mac mediante un programma brew, che non trovo da nessuna parte; GitEye scarica (molto lentamente) un file zip, aperto il quale si trovano tante cose, nessuna delle quali dice come installare il software, e cliccando su GitEye.app, l’applicazione va in abnormal termination.

                    Non mi sembrano cose serie; peccato!

                    Naturalmente non è colpa di nessuno di noi, forse solo mia che non mi trovo a mio agio in rete, ma è deludente. Cercherò di fare con la GUI nativa dell’installazione di git come descritta nella guida tematica. Eventualmente userò solo l’interfaccia a riga di comando; non è terribilmente complicata, anche se bisogna stare attenti a mille dettagli.

                  • #90000
                    Liverpool
                    Partecipante
                      Up
                      0
                      Down
                      ::

                      OldClaudio” post=89872la seconda [SourceTree] più o meno, ma lascia anche aprire un repository locale.

                      Sei sicuro? Io ricordo di averla usata per lungo tempo in locale, prima di aprire un repository in rete. In ogni caso, sono utili nella misura in cui tu ti trovi meglio a cliccare su pulsanti e a guardare disegni piuttosto che a scrivere sul terminale, un po’ come con LaTeX. SourceTree ha anche una piccola finestrella nella quale ti permette di vedere al volo le differenze con la versione precedente dello stesso file e la trovo utile, ma non ha tutti i comandi. Per esempio mi manca [tt]git commit –amend[/tt] che (purtroppo) uso spesso, perciò devo compensare passando al terminale mediante l’apposito pulsante. Mi sembra molto semplice da usare, dal momento che non ho mai avuto bisogno di consultare il manuale. Altre interfacce non ne conosco perciò non escluderei che in giro ci sia di meglio.

                      Ciao

                    • #90001
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Grazie, @Liverpool, infatti SourceTree è l’unico con quale sono riuscito a fare qualcosa.

                        Tuttavia trovo deludente che ci sia un sito che presenta una decina di software dei quali uno solo veramante accessibile per una funzionalità non completa ma sufficiente. In fondo la paignata rimanda ad un altro sito la cui pagina di accesso immediatamente ti chiede l’autorizzazione per installare sofware sul mio browser; Gentile da parte sua, ma prché questa cose non te le chiedono dopo che hai visitato il sito e hai trovato qualcosa che ti interessa? perché devi immettere i tuoi dati personali solo per “entrare nel negozio e dare un’occhiata”? Questo mi dà fastidio, e ovviamanto non ho immesso nessun dato personale e quindi non ho la più vaga idea di che cosa il sito contenga.

                      • #90002
                        claudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          sto usando git extensions
                          non ho esperienza per emettere un giudizio
                          che ne pensate?
                          claudio

                        • #90003
                          Up
                          0
                          Down
                          ::


                          Qualcuno ha mai provato la GUI che si apre con [tt]git gui[/tt] oppure Gitk? Io l’ho solo aperta qualche volta, però non mi sembra malvagia ed è anche localizzata in italiano, molto utile per gli utenti non troppo anglofoni

                        • #90004
                          OldClaudio
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Sul Mac [tt]git gui[/tt] non funziona o non c’è o, meglio, c’è git, ma non capisce l’azione gui; ma funziona Gitk.

                            Gitk mi sembra molto essenziale, ma pur sempre esiste ed è usabile.

                          • #90005
                            Up
                            0
                            Down
                            ::

                            OldClaudio” post=89917Sul Mac [tt]git gui[/tt] non funziona o non c’è o, meglio, c’è git, ma non capisce l’azione gui; ma funziona Gitk.

                            Gitk mi sembra molto essenziale, ma pur sempre esiste ed è usabile.

                            Non so come stanno le cose su Mac, ma non è detto che [tt]git gui[/tt] sia distribuito con [tt]git[/tt], per esempio su Debian/Ubuntu bisogna installare esplicitamente il pacchetto [tt]git-gui[/tt].

                            Comunque quelle poche volte che voglio una GUI uso gitg (o gitk su Windows). Trovo (quasi) tutto molto più comodo da terminale, la GUI mi sembra utile solo per vedere com’è ramificata la cronologia e poco altro (tipo per un “blame”, e non trovo nemmeno soddisfacente com’è implementato).

                            Ciao
                            Antonio

                          • #90006
                            Up
                            0
                            Down
                            ::

                            antonio.macrì” post=89920

                            Sul Mac [tt]git gui[/tt] non funziona o non c’è o, meglio, c’è git, ma non capisce l’azione gui; ma funziona Gitk.

                            Gitk mi sembra molto essenziale, ma pur sempre esiste ed è usabile.

                            Non so come stanno le cose su Mac, ma non è detto che [tt]git gui[/tt] sia distribuito con [tt]git[/tt], per esempio su Debian/Ubuntu bisogna installare esplicitamente il pacchetto [tt]git-gui[/tt].

                            Git-gui è incluso nel sorgente stesso di Git, vedi https://github.com/git/git, il fatto che in alcune distribuzioni GNU/Linux sia un pacchetto a parte è dovuto al fatto che loro amano spezzettare alcuni programmi in moduli separati.

                            antonio.macrì” post=89920(tipo per un “blame”, e non trovo nemmeno soddisfacente com’è implementato).

                            Perché non lo trovi soddisfacente? Io uso git-gui praticamente solo per i blame, è comodo per annotare la revisione indicata e controllare il contesto della cronologia di quella modifica.


                            @OldClaudio
                            : Gitk serve solo a navigare nella cronologia, non credo permetta di eseguire operazioni. Per quello serve git-gui. Non capisco perché non l’abbiano incluso nel pacchetto per OS X ❓

                          • #90007
                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::


                              Comunicazione di servizio agli Autori della guida:

                              Quando ritenete opportuno che venga aggiornata la versione disponibile sul sito http://www.guitex.org rispetto a quella aggiornata presente sul repository https://github.com/GuITeX, fatemelo sapere, in attesa che la procedura di aggiornamento sia resa automatica…
                              Grazie
                              R.

                            • #90008
                              Up
                              0
                              Down
                              ::

                              Elrond” post=89933

                              Non so come stanno le cose su Mac, ma non è detto che [tt]git gui[/tt] sia distribuito con [tt]git[/tt], per esempio su Debian/Ubuntu bisogna installare esplicitamente il pacchetto [tt]git-gui[/tt].

                              Git-gui è incluso nel sorgente stesso di Git, vedi https://github.com/git/git, il fatto che in alcune distribuzioni GNU/Linux sia un pacchetto a parte è dovuto al fatto che loro amano spezzettare alcuni programmi in moduli separati.

                              Sì, dicevo che non è distribuito con git, anche se alla fine è considerato parte di git. D’altronde, quei commit sono tutti dei merge da un repo esterno.

                              Elrond” post=89933

                              (tipo per un “blame”, e non trovo nemmeno soddisfacente com’è implementato).

                              Perché non lo trovi soddisfacente? Io uso git-gui praticamente solo per i blame, è comodo per annotare la revisione indicata e controllare il contesto della cronologia di quella modifica.

                              Lì mi riferivo a [tt]gitg[/tt], dove il blame non permette alcuna navigazione. Ma neanche in [tt]git-gui[/tt] mi piace, lo trovo poco intuitivo, poco efficace (espressivo), mal navigabile, non mi piace lo schema di colori scelto… (senza contare che pressoché qualsiasi cosa scritta in Tlc/Tk è inguardabile).

                            • #90009
                              claudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                scusate ma che cosa è un submodules?

                                Se ho capito bene permette di vedere più progetti
                                come un un unico progetto
                                mi sbaglio?
                                come si gestiscono?
                                grazie
                                claudio

                                edit
                                uso windows

                              • #90010
                                Up
                                0
                                Down
                                ::

                                claudio” post=90762scusate ma che cosa è un submodules?

                                Se ho capito bene permette di vedere più progetti
                                come un un unico progetto
                                mi sbaglio?
                                come si gestiscono?
                                grazie
                                claudio

                                edit
                                uso windows

                                Personalmente non li ho mai usati, comunque i submodules permettono di tenere un repository git all’interno di un altro, utile se nel tuo progetto hai bisogno usare i file di un altro progetto. Nel primo paragrafo di http://git-scm.com/book/ch6-6.html trovi una breve introduzione ai submodules, nel seguito sono riportati i dettagli della gestione, compresi gli aspetti negativi.

                              • #90011
                                Up
                                0
                                Down
                                ::


                                Continuo dalla discussione iniziata qui: http://www.guitex.org/home/it/forum/10-corsi-e-didattica/91226-nuova-versione-della-guidaguit

                                Dork” post=91333sto cercando di capire (ad esempio la differenza tra revert e roll back

                                Non uso l’interfaccia grafica di GitHub perché non è disponibile per GNU/Linux (e comunque temo sia troppo strettamente legata a quel sito), però su Stack Overflow ho trovato questa domanda che dovrebbe risolvere il tuo quesito:
                                http://stackoverflow.com/questions/15039271/what-is-the-meaning-of-revert-this-commit-and-roll-back-this-commit-in-github-fo
                                Se ho capito bene, l’operazione di “revert” corrisponde al comando [tt]git revert[/tt], che genera un nuovo commit che annulla il commit indicato (lasciando quindi la cronologia precedente invariata); l’operazione di “roll back” dovrebbe eliminare il commit indicato dalla cronologia però il file rimane invariato, in modo da poter correggere il commit. Questo è quello che capisco dalla risposta.

                                Dork” post=91333oppure come fare da li, se possibile, il ripristino di solo una parte di un commit (che nella guida è l’andare a ciliegie “cherry-pick”) altra cosa che comunque, grazie alla guida e alla riga di comando non sarà un problema)

                                Un attimo, un attimo, potrebbe esserci un’incomprensione: il “cerry-picking” consiste nel prendere un singolo commit da un altro ramo (comodo se non devi fondere l’intero ramo ma solo integrare singole modifiche), non un commit parziale. È chiaro o va spiegato meglio?

                                Dork” post=91334Ok, mi sono risposto, ho fatto il fork, ho clonato il tutto in una cartella locale (che ha creato il sistema scaricandone all’interno tutto il contenuto remoto e attivando automaticamente il repo locale) ora da quello che ho capito, senza rischiare di fare danni (che comunque..anche se facessi..sarebbero “annullabili” tornando a una versione precedente) posso apportare le modifiche che ritengo opportune o utili e poi salvarle, farne il commit (in locale) e fare il push sul GuITeX. In questo modo io comunque non modifico il file originale ultima versione (come farei invece se facessi la stessa cosa su un mio repo on-line) ma viene segnalata la modifica che deve essere approvata e integrata con un merge dal responsabile del progetto. Giusto?

                                Non sono sicuro di aver ben compreso la domanda: tu in locale fai tutte le modifiche che vuoi (tranne riscrivere la cronologia precedente alle tue modifiche), poi aggiorni il repository remoto con [tt]git push[/tt]. Questo doppio passaggio (commit e push) può sembrare una duplicazione del lavoro, ma in realtà è molto comodo perché permette di avere repository solo locali (io per anni ho avuto un paio di repository solo in locale) o di lavorare in locale prima di inviare un bel pacchetto di modifiche in remoto (non è obbligatorio eseguire il push dopo ciascun commit), mentre nei vecchi VCS centralizzati un commit inviava la modifica anche in remoto. Ora, quello che si deve fare per integrare le proprie modifiche nel progetto che si è forkato dipende dal sito. Su GitHub devi fare una richiesta di pull, cosa che però non mi sembra tu abbia ancora fatto (se credevi di averlo già fatto) 😉 Ho risposto alla tua domanda o mi è sfuggito qualcosa?

                              • #90012
                                Up
                                0
                                Down
                                ::


                                orpo…allora so che mi sono preso la mano con github e tornare alla riga di comando (anche se ci lavoro da pochissime ore) mi manda in pre crisi di astinenza…ma se mi dite che è meglio che mi abitui a lavorare solo da li, mi sforzerò. (ad esempio da github non si possono inserire o modificare i tag… così come, provato, è un po’ un macello se cancello il repo remoto, mantenendo quello locale, e poi voglio rimetterlo in remoto partendo da quello locale..magari è una cosa che non si fa mai..ma il mio repo prova lo sto usando prorio per cercare di fare le peggio porcate che potrebbero succedere e capire che problemi causerebbero o come risolverli)

                                nello specifico del fork (che non ho ancora capito se è indispensabile da fare prima del clone o meno e se no..allora a che serve) io ho fatto il fork, ho fatto la modifica e ho fatto il commit con il sync (di github…che dovrebbe eseguire il pull da quello che ho capito)…e se vado nella pagina del repo nella scheda del report https://github.com/GuITeX/guidagit/network il mio intervento risulta evidente e segnalato…quindi non ho capito cosa manca 🙂 o cosa ho sbagliato…

                              • #90013
                                Up
                                0
                                Down
                                ::

                                Dork” post=91343orpo…allora so che mi sono preso la mano con github e tornare alla riga di comando (anche se ci lavoro da pochissime ore) mi manda in pre crisi di astinenza…ma se mi dite che è meglio che mi abitui a lavorare solo da li, mi sforzerò. (ad esempio da github non si possono inserire o modificare i tag… così come, provato, è un po’ un macello se cancello il repo remoto, mantenendo quello locale, e poi voglio rimetterlo in remoto partendo da quello locale..magari è una cosa che non si fa mai..ma il mio repo prova lo sto usando prorio per cercare di fare le peggio porcate che potrebbero succedere e capire che problemi causerebbero o come risolverli)

                                Tu sei liberissimo di usare lo strumento che trovi più comodo, io ho detto che anche volendo non potrei usarlo perché non è disponibile per la mia piattaforma e che personalmente non mi piace che funzioni quasi solo con repository di GitHub (io ho repository su altri siti), ma se a te piace e ti trovi bene per la gestione dei tuoi progetti su GitHub continua pure, non ti fustigherò di certo perché non usi il terminale 😉

                                Dork” post=91343nello specifico del fork (che non ho ancora capito se è indispensabile da fare prima del clone o meno e se no..allora a che serve) io ho fatto il fork, ho fatto la modifica e ho fatto il commit con il sync (di github…che dovrebbe eseguire il pull da quello che ho capito)…e se vado nella pagina del repo nella scheda del report https://github.com/GuITeX/guidagit/network il mio intervento risulta evidente e segnalato…quindi non ho capito cosa manca 🙂 o cosa ho sbagliato…

                                Hai forkato correttamente, hai fatto una modifica inviata correttamente in remoto, quello che ti manca affinché la tua modifica venga inclusa è fare una richiesta di pull. Come vedi, qui non ce ne sono: https://github.com/GuITeX/guidagit/pulls 🙂 Devi fare clic sul pulsante “Pull request” che trovi sopra il messaggio dell’ultimo commit qui: https://github.com/powerdork/guidagit Potrei fare pure io la richiesta ma non vorrei toglierti questa ebrezza 😀 È necessario che uno degli amministratori di quel repositoy accetti la tua richiesta, non avviene automaticamente, ma a occhio e croce le tue modifiche mi sembrano sensate quindi sarò lieto di accoglierle

                              • #90014
                                Up
                                0
                                Down
                                ::


                                ok, 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)

                                per 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?

                              • #90015
                                Up
                                0
                                Down
                                ::

                                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 [/tt]). Molti progetti usano questo modo di lavorare, GitHub spinge molto sui fork, c’è a chi piace a chi no.

                                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ì

                              • #90016
                                Up
                                0
                                Down
                                ::


                                Credo di aver capito molto di più 🙂

                                in ogni modo un’altra cosa che ho capito è che github ha infiniti collaboratori pubblici, mentre c’è bitbucket che ha limitati collaboratori privati (gratis si intende) quindi ho creato un account anche li scaricando l’interfaccia mac SourceTree (direi mooolto più completa di github) così ci piazzo la mia bella tesi 🙂

                                Vediamo se faccio confusione oppure se combino 🙂

                                Grazie mille!!! 🙂

                              • #90017
                                Up
                                0
                                Down
                                ::

                                Dork” post=91355in ogni modo un’altra cosa che ho capito è che github ha infiniti collaboratori pubblici, mentre c’è bitbucket che ha limitati collaboratori privati (gratis si intende) quindi ho creato un account anche li scaricando l’interfaccia mac SourceTree (direi mooolto più completa di github) così ci piazzo la mia bella tesi 🙂

                                Sì, GitHub offre gratis illimitati repository pubblici, BitBucket (che permette di gestire progetti Mercurial oltre che Git) illimitati repository pubblici e privati. Io in genere metto i progetti privati su BitBucket e quelli pubblici su GitHub. Quest’ultimo ha una visibilità enorme (stiamo parlando di oltre 10 milioni di repository, con una tendenza che ha dell’incredibile), molti ritengono che uno dei motivi per i quali Git sia abbondantemente il più diffuso VCS distribuito sia proprio il grande successo di GitHub

                              • #90018
                                Up
                                0
                                Down
                                ::


                                Scusate se vi stresso di domande ma vi percepisco disponibili e approfitto (senza premura né pretese :-)).

                                Per esempio: voi avete fatto il merge con la mia modifica (grazie) ma poi io non avevo gli aggiornamenti successivi, ovvero il mio fork non si è aggiornato nonostante il merge…questo (a posteriori) è ragionevole…infatti il mio fork non è altro che un altro branch del ramo principale, giusto?! e se voi ne fate il merge e non lo cancellate (per fortuna se no io mi troverei con un palmo di naso) io continuo a lavorare su quel ramo finché non faccio un nuovo pull e lo aggiorno al commit che desidero (tendenzialmente l’ultimo del ramo principale…)..giusto?

                                Immaginavo però che mi arrivasse una comunicazione o altro del fatto che dopo il merge con la mia modifica ne erano state fatte altre…(in realtà, ad essere sincero…non immaginavo proprio niente..non mi ero neppure posto il problema!) questo dalla guida non si capisce molto. Così ho fatto altre piccole modifiche al mio file (locale ovviamente :-)), ho fatto il commit on-line (senza la richiesta di pull perché vorrei scrivere altro riguardo la parte on-line…appena ne avrò capito di più)..e ho scoperto che il mio file (appena aggiornato e caricato) era già obsoleto 🙂 ottima esperienza, ma non me l’aspettavo.

                                Quindi ora se ho capito bene devo fare io il pull e il merge (a livello locale e online sul mio fork) della nuova versione con la mia che, integrandola, andrà a sostituire..nulla di quello che ho fatto io ma lo ingloberà (grazie al vostro di merge) e aggiungerà gli aggiornamenti che avete fatto da li in avanti, e io potrò continuare a effettuare (sull’ultima versione) le modifiche che ritengo opportune da farvi valutare (quando vi farò richiesta di pull), giusto?

                                Tra l’altro a livello di strategia (anche per un uso personale) è uso/consuetudine/obbligo/divieto di fare i commit a ogni modifica di “tipo” differente o meglio mandare blocchi di una certa consistenza anche se eterogenei (tanto è sempre possibile scegliere quali modifiche accettare e quali no anche in un singolo commit, giusto?!…io dal locale posso….[ho scaricato SouceTree di Atlassian {licenziato gratis!!} che gestisce entrambi gli account che ho creato…e mi pare di trovarmici molto bene!!]).

                                Per esempio: (al di là che non l’ho fatto) io ho corretto una mancanza di una “di” che era sfuggita anche a me e un punto di domanda in un punto esclamativo (perché se no la frase non la capivo..e non trovavo la risposta leggendola come domanda…finché ho capito che era lei stessa la risposta :-))…queste comunque sono sciocchezze…poi ho aggiunto alcune parentesi per chiarire una concetto in una frase che mi aveva fatto proprio capire il contrario della realtà (la negazione delle parentesi mostra cosa avevo capito io…)…e poi, ora non arrivo, a breve vorrei scrivere un po’ di più sulla parte on-line (sempre perché mentre tutto il resto è chiaro (e molto)..quella parte no, mancano esempi, ecc).

                                A questo punto ho fatto questo ragionamento: “le modifiche sono piccole, di natura diversa ma piccole…ne voglio fare un’altra ma non subito, invio il commit (in locale) e faccio il push (in remoto […al mio fork?!]) così è tutto salvo e registrato e farò la richiesta di pull a voi quando farò il commit anche dell’altra modifica”

                                com’è come ragionamento? era meglio fare da subito due commit (argomenti diversi)? era meglio aspettare di avere tutto pronto (blocco consistente)? Ho fatto bene ad aspettare di fare richiesta di pull (meglio un blocco cospicuo che briciole)? era meglio farla comunque (meglio non troppa attesa tra una modifica e l’altra senza richiesta di pull)? meglio farne due (anche se briciole meglio tenere distinte le tipologie di modifica)?

                                come dicevo sulle pratiche e la gestione on-line..mi è rimasta un po’ di confusione. :-)… sulla strategia di lavoro, invece, non ne ho proprio una e per quanto sappia che la risposta migliore sia “dipende”, delle opinioni o esperienze mi farebbero piacere per cominciare a formare il mio “dipende” 🙂

                                Grazie millissime, sto vedendo questo modo di fare sempre più come vincente! (ps..altra piccola conferma stupida: un repo privato remoto il cui unico utente solo io…è utile solo per una sorta di back-up on-line, giusto?! per il resto non da né vantaggi né svantaggi rispetto a tenerlo tutto in locale (avendo un solo computer…ovvio :-)))

                                Notte notte e grazie ancora 🙂

                                (domani sveglia presto: le Arance della Salute arrivano alle 6.30!! :-))

                                Ciao ciao,

                                Corrado.

                              • #90019
                                Up
                                0
                                Down
                                ::


                                ho provato ad aggiornare il mio repo e non ci sono riuscito. Deduco che (sempre giustamente), avento creato un fork (branch parallelo ma dipendente) non posso aggiornarlo con le nuove vostre modifiche…semmai sarete voi a integrare il mio…ma una volta fatto torniamo punto e a capo come quando avete fatto il merge con la mia modifica precedente…come mi devo comportare o agire? devo eliminare il mio fork e rifarne un’altro…mmm questa cosa proprio non mi è chiara.

                                fork:=?!
                                ho il mio repo su github, lo scarico in locale, lo modifico, commit in locale, push al remoto, richiesta di pull da parte vostra, merge vostro…e poi?

                                io resto con il mio file con le mie modifiche, voi pure, ma i vostri futuri aggiornamenti io come li aggiorno?! semplicemente il mio l’ho fatto e cancello tutto, e in caso ri forko di nuovo all’occorrenza o che?! 🙂

                                :-)…no, ancora non sono a dormire…e devo ancora finire di scrivere un po’ di cose (“oggi”) 🙂 dormirò domani 🙂

                                notte notte

                                Corrado.

                              • #90020
                                Up
                                0
                                Down
                                ::

                                Dork” post=91393ho provato ad aggiornare il mio repo e non ci sono riuscito. Deduco che (sempre giustamente), avento creato un fork (branch parallelo ma dipendente) non posso aggiornarlo con le nuove vostre modifiche…semmai sarete voi a integrare il mio…ma una volta fatto torniamo punto e a capo come quando avete fatto il merge con la mia modifica precedente…come mi devo comportare o agire? devo eliminare il mio fork e rifarne un’altro…mmm questa cosa proprio non mi è chiara.

                                fork:=?!
                                ho il mio repo su github, lo scarico in locale, lo modifico, commit in locale, push al remoto, richiesta di pull da parte vostra, merge vostro…e poi?

                                io resto con il mio file con le mie modifiche, voi pure, ma i vostri futuri aggiornamenti io come li aggiorno?! semplicemente il mio l’ho fatto e cancello tutto, e in caso ri forko di nuovo all’occorrenza o che?! 🙂

                                :-)…no, ancora non sono a dormire…e devo ancora finire di scrivere un po’ di cose (“oggi”) 🙂 dormirò domani 🙂

                                notte notte

                                Corrado.

                                La risposta è più semplice di quello che immagini, nella guida ci sono tutte le informazioni necessarie per raggiungerla, basta aggiungere un pizzico di fantasia e voglia di sperimentare 😉
                                `git remote add guidagit https://github.com/GuITeX/guidagit.git
                                git pull guidagit master`
                                Il primo comando aggiunge un ulteriore repository remoto chiamato [tt]guidagit[/tt], il secondo aggiorna il ramo [tt]master[/tt] usando il repository remoto [tt]guidagit[/tt] invece del predefinito [tt]origin[/tt]. Non sono convito ad aggiungere questo “trucco” sulla guida perché riguarda solo il flusso di lavoro su GitHub (in quanto fortemente basato sui fork, cioè la creazione di un nuovo repository).

                                Edit: qui ci sono maggior dettagli: https://help.github.com/articles/syncing-a-fork È suggerito di fare il [tt]fetch[/tt] e poi il [tt]merge[/tt], ma il [tt]pull[/tt] è equivalente a un [tt]fetch + merge[/tt], nella maggior parte dei casi non dovrebbero esserci problemi a usare direttamente il [tt]pull[/tt].

                                Edit 2: qui è suggerito un trucco carino per eseguire l’aggiornamento da interfaccia grafica: http://webapps.stackexchange.com/questions/28998/how-do-you-update-a-github-repo-fork-in-the-web-interface In pratica si suggerisce di aprire una richiesta di pull “al contrario”, dal repository originale al proprio fork. Ingegnoso.

                              • #90021
                                Up
                                0
                                Down
                                ::


                                Grazie mille, alla fine avevo risolto leggendo anche questo articolo molto interessante. In ogni modo sono riuscito a fare tutto con SourceTree. Ho impostato i due repo remoti così vedo e seguo anche gli sviluppi di entrambi e posso sempre aggiornare il mio locale, così come il mio remoto dal commit del ramo che voglio (mi sembra di cominciare a capire sempre più come funziona :-))

                                Bene bene, ho poi anche cominciato a farmi un idea su come comportarmi con gli aggiornamenti. Io direi di caricare i commit nel mio ramo anche a ogni tipo di modifica in modo da tener traccia anche della storia (seppure che se ci fossero filoni di tipi di modifiche si potrebbero aprire anche rami ad hoc..servisse..ma qui si va un po’ avanti con il discorso) e poi quando ritengo di far porre l’attenzione del ramo principale a quello che sto facendo faccio la richiesta di pull, in modo da richiamare l’attenzione sulla verifica di ciò che ho fatto e poi, se chi di competenza lo ritenesse opportuno, ne verrà fatto il merge.

                                ben ben ora devo solo mettermi all’opera 🙂

                                Buona Domenica!

                                Corrado.

                              • #90022
                                claudio
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::


                                  Riapro questa discussione
                                  è possibile inserire le info di git nel file latex?
                                  Ho trovato gitinfo ma mi sembra macchinoso
                                  altre idee o qualche esempio
                                  ciao
                                  claudio

                                • #90023
                                  Up
                                  0
                                  Down
                                  ::

                                  claudio” post=101950Riapro questa discussione
                                  è possibile inserire le info di git nel file latex?
                                  Ho trovato gitinfo ma mi sembra macchinoso
                                  altre idee o qualche esempio
                                  ciao
                                  claudio

                                  Prova a dare un’occhiata qui: https://tex.stackexchange.com/questions/75336/inserting-git-commit-date-without-hooks

                                • #90024
                                  claudio
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    ho windows
                                    sono imbranato l’ammetto
                                    ma non sono stato in grado di replicare
                                    una sola di quelle risposte
                                    boh
                                    ciao
                                    claudio

                                  • #90025
                                    Up
                                    0
                                    Down
                                    ::

                                    claudio” post=101959ho windows
                                    sono imbranato l’ammetto
                                    ma non sono stato in grado di replicare
                                    una sola di quelle risposte
                                    boh
                                    ciao
                                    claudio

                                    Su Windows ti so aiutare molto poco, ma se non sbaglio anche David Carlisle usa Windows, quindi suppongo che la sua soluzione (vabbè, una quelle suggerite nei commenti) funzionerà anche su Windows

                                  • #90026
                                    claudio
                                    Partecipante
                                      Up
                                      0
                                      Down
                                      ::

                                      Elrond” post=101961

                                      ho windows
                                      sono imbranato l’ammetto
                                      ma non sono stato in grado di replicare
                                      una sola di quelle risposte
                                      boh
                                      ciao
                                      claudio

                                      Su Windows ti so aiutare molto poco, ma se non sbaglio anche David Carlisle usa Windows, quindi suppongo che la sua soluzione (vabbè, una quelle suggerite nei commenti) funzionerà anche su Windows

                                      non credo nella sua soluzione viene usato grep…
                                      ciao
                                      e grazie
                                      claudio

                                  Visualizzazione 36 filoni di risposte
                                  • Devi essere connesso per rispondere a questo topic.

                                  Go to top