Usare git

di il
10 risposte

Usare git

Salve a tutti,
avrei necessità di capire un pò il funzionamento di git, per fare ciò ho pensato di creare un primo repositoy di esempio, seguendo una guida in rete, i passi che ho seguito sono:
- ho installato git ed ho cerato un account su GitHub ho in esguito creato il repository su sito
- ho clonato il repository in locale
- ho usato il comando "git remote add origin url", anche se non so cosa fa di preciso
- ho aggiunto i file con git add .
- ho usato il comando git commit -m
e fin qui tutto sembrava funzionare, nel senso che eseguendo il comando git log potevo visualizzare i vari commit.
Il problema si evidnezia quando provo a dare il comando "git push origin master", che mi è sembrato di capire essere il comando per caricare le modifiche del mio repository sul sito, ma qui si sono problemi di connessione, cosa devo fare perchè il tutto venga eseguito correttamente?
Inoltre sapete se c'è un modo per poter recuperare lo stato iniziale del repository ad un certo istante, magari al terzo commit?
Vi ringrazio per la disponibilità
Buona giornata

10 Risposte

  • Re: Usare git

    Ciao, prova questo "tutorial":

    In ogni caso se hai clonato il repository da github non c'è bisogno di eseguire il comando "git remote add ..." (Che serve per dire a git che il repository locale è "legato" ad un determinato url remoto).
    Che errore ti da?

    Inoltre con "recuperare lo stato iniziale" cosa intendi?


    Sent from my iPhone using Tapatalk
  • Re: Usare git

    Ciao Della e grazie per aver risposto,
    alla fine sono riuscita a collegare il repository locale con quello remoto, semplicemente facendo gli stessi passi scritti nel primo post.

    In merito alla seconda domanda, in pratica vorrei poter scaricare il repository inizializzato senza alcun commit ed analizzare il suo contenuto, ad esempio quante classi, quanti metodi, vorrei quindi una visione del repository prima di qualunque modifica, non so se sono stata chiara.
    Grazie e quanti leggeranno
  • Re: Usare git

    Beh un repository senza commit è semplicemente vuoto! Forse quello che ti interessa è il log (comando "git log"), che ti mostra la storia dei commit del repository, dal più recente al meno recente, indicando per ogni commit quali sono state le differenze applicate


    Sent from my iPhone using Tapatalk
  • Re: Usare git

    Grazie Della per la risposta,
    in realtà mi servirebbe avere una cartella clonata sul mio pc con le sole classi presenti prima che qualche classe venisse eliminata, per cui se avessi a disposizione il numero di commit dovrei trovare il comando giusto per recuperare solo le classi presenti in quel preciso commit e non in tutto il repositoty, non so se sono stata chiara.
    Grazie
  • Re: Usare git

    OK ora è più chiaro
    Quello che devi fare allora è clonare sul desktop il repository remoto (git clone URL) e poi eseguire "git reset --hard ID", dove ID è lo SHA1 del commit (puoi ottenere questo SHA1 dal log), oppure è un tag (quest'ultimo è presente solo se il proprietario del repo ne ha creato almeno uno)
  • Re: Usare git

    Grazie Della adesso funziona e fa proprio quello che volevo
    Ma per caso git prevede anche qualche comando per analizzare le classi per ottenere ad esempio la firma dei metodi contenuti nel repository? Forse adesso pretendo troppo da git...
    Grazie per la disponibilità
  • Re: Usare git

    No, in effetti è un po' troppo per git questo, anche perché git nasce "solo" per gestire le varie versioni di un file, potenzialmente potrebbe essere un semplice file di testo che non c'entra nulla con la programmazione
    Per fare quello che dici puoi affidarti a strumenti esterni o sperare che l'autore abbia scritto una qualche forma di documentazione
  • Re: Usare git

    Ad esempio se si tratta di file Java esiste l'ottimo strumento "javap" che disassembla i file ".class" (cioè il bytecode) e ti restituisce molte informazioni, fra cui le signature dei metodi
  • Re: Usare git

    Grazie Della anche per quest'altro suggerimento solo che io non ho a disposizione i file .class del repository clonato, poichè mi è sembrato di capire che su GitHub vengono caricati solo i sorgenti, per cui per ogni repository che devo analizzare dovrei compilare per avere i file .class, non credo che questa sia la strada giusta, per caso avresti altri suggerimenti?
    Grazie molte
  • Re: Usare git

    Sinceramente non ho mai avuto questa necessità, quindi non saprei quali strumenti indicarti.
    Una ricerca veloce su google ha suggerito di usare javaparser, ma in pratica ti devi creare un programma Java con il quale poi ti costruisci l'abstract syntax tree, dal quale puoi ricavare i dettagli dei vari metodi. Nella loro pagina wiki mettono il seguente esempio di codice per "visitare" i vari metodi (che più o meno è quello di cui hai bisogno tu)
    
    public class MethodPrinter {
    
        public static void main(String[] args) throws Exception {
            // creates an input stream for the file to be parsed
            FileInputStream in = new FileInputStream("test.java");
    
            CompilationUnit cu;
            try {
                // parse the file
                cu = JavaParser.parse(in);
            } finally {
                in.close();
            }
    
            // visit and print the methods names
            new MethodVisitor().visit(cu, null);
        }
    
        /**
         * Simple visitor implementation for visiting MethodDeclaration nodes. 
         */
        private static class MethodVisitor extends VoidVisitorAdapter {
    
            @Override
            public void visit(MethodDeclaration n, Object arg) {
                // here you can access the attributes of the method.
                // this method will be called for all methods in this 
                // CompilationUnit, including inner class methods
                System.out.println(n.getName());
            }
        }
    }
    
Devi accedere o registrarti per scrivere nel forum
10 risposte