Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    il 2012-01-20 20:45:01.0 alle 2012-01-20 20:45:01.0
    Trollate totali: 42885
    Rompiballe: GIT
    Mi spieghi che cosa sbaglio ?

    ===
    giambo@phobos:~/repo$ git clone giambo@ravanator.acmetoy.com:/src/FdtDueZero.git
    [...]
    giambo@phobos:~/repo/FdtDueZero$ git checkout origin/insert
    Note: checking out 'origin/insert'.

    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.

    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:

    git checkout -b new_branch_name

    HEAD is now at 6a1c7c6... merge finito porto dio! Arrabbiato
    giambo@phobos:~/repo/FdtDueZero$ git status
    # Not currently on any branch.
    [...]
    ===

    Not currently on any branch. ???

    Vabbeh, modifico, committo e pusho ma "gitk --all" non mi mostra un cazzo.
    `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
    • Avatar
      ☺
      Scritto da
      avvelentani
      Cubicolario
      il 2012-01-21 10:17:29.0 alle 2012-01-21 10:17:29.0
      Trollate totali: 18184
      Re: Rompiballe: GIT
      Scritto da: Giambo
      > Mi spieghi che cosa sbaglio ?

      Si`.

      > ===
      > giambo@phobos:~/repo$ git clone giambo@ravanator.acmetoy.com:/src/FdtDueZero.git
      > [...]
      > giambo@phobos:~/repo/FdtDueZero$ git checkout origin/insert
      > Note: checking out 'origin/insert'.
      >
      > You are in 'detached HEAD' state. You can look around, make experimental
      > changes and commit them, and you can discard any commits you make in this
      > state without impacting any branches by performing another checkout.
      >
      > If you want to create a new branch to retain commits you create, you may
      > do so (now or later) by using -b with the checkout command again. Example:
      >
      > git checkout -b new_branch_name
      >
      > HEAD is now at 6a1c7c6... merge finito porto dio! Arrabbiato
      > giambo@phobos:~/repo/FdtDueZero$ git status
      > # Not currently on any branch.
      > [...]
      > ===
      >
      > Not currently on any branch. ???
      >
      > Vabbeh, modifico, committo e pusho ma "gitk --all" non mi mostra un cazzo.

      Perche' invece non hai fatto quello che ti ha detto di fare git?

      Ti spiego come funziona git in due parole, l'oggetto principale gestito da git e` il "commit" un commit e` fatto da:
      - un messaggio
      - la foto dei sorgenti al momento in cui il commit e` stato fatto
      - una lista di commit "parent", sono uno solo se e` un commit normale o piu` d'uno se e` un merge

      In gitk i commit sono rappresentati con dei puntini colorati.

      L'altro oggetto importante di git e` il branch, il branch e` un puntatore ad un commit, in gitk li vedi come delle caselline rettangolari con un nome dentro.

      Per quanto riguarda la working directory git scompatta il contenuto di un commit sulla directory corrente, inoltre SE il commit era puntato da un branch, e se il branch e` MODIFICABILE git si ricorda anche a quale branch corrisponde la working directory.

      Quando fai "git commit" (dopo git add) quello che succede e` che:
      a. viene creato un nuovo commit, con parent il commit usato per la working directory
      b. il branch della working directory viene fatto puntare al nuovo commit

      Questo e` tutto quello che ti serve per usare git in locale, per usarlo con repository remoti (che e` quello che stiamo facendo), devi sapere un altro paio di cose.

      La prima cosa e` che esistono due tipi di branch: locali e remoti. I branch locali possono essere modificati direttamente come descritto sopra, i branch remoti no, possono essere modificati solo da "git fetch" che li sincronizza con il branch corrispondente in un altro repository.

      La seconda cosa e` che puoi creare un branch locale collegato ad un branch remoto, facendo questo collegamento abiliti "git push" e "git pull".
      Push essenzialmente copia tutti i commit che hai fatto su un branch locale nel branch remoto a cui e` collegato (aggiornando il tutto anche sul server remoto). Pull esegue "git fetch" e poi per ogni branch remoto copia i nuovi commit nel branch locale collegato.

      Quello che hai fatto sopra e` cercare di modificare un branch remoto direttamente, git non te lo fa fare e te lo ha detto. A questo punto la working directory e` collegata ad un commit che non e` in nessun branch e non ha parent, chiamata "detached HEAD". Questo e` l'unico modo in cui git puo` "perdere" commits (perche' non c'e` nessun riferimento ad essi). Se vuoi recuperarli dovresti fare:

      cat .git/HEAD
      


      questo ti restituisce un codice esadecimale che identifica il tuo commit volante, a questo punto crei un branch collegato a remotes/origin/insert:

      git checkout remotes/origin/insert
      git checkout -b ilmionuovoinsert
      


      E poi fai un merge con il commit volante:

      git merge <codice esadecimale precedente>
      


      Pero` dovresti leggere i messaggi di errore invece di premere tasti a caso e pastrugnare con il repo.
      I think happiness is love
      - Vladimir Putin
      • Avatar
        ☺
        Scritto da
        il 2012-01-21 12:12:17.0 alle 2012-01-21 12:12:17.0
        Trollate totali: 42885
        Re: Rompiballe: GIT
        Io continuo a sostenere la tesi di Chitto, e cioe' che git e' troppo complesso per quel che dobbiamo fare.
        Branch remoti, locali, collegati o scollegati, perfino codici esadecimali Deluso !

        Quel che ci server e' un Source Code Management semplice, che mi permetta di fare un checkout, eventualmente un merge se ci sono state modifiche, e un checkin. Il tutto usando dei semplicissimi comandi, come "scm checkout" o "scm checkin".
        Siamo 3 gatti che lavorano su un progettino microscopico, non stiamo reimplementando il Kernel di Linux.

        Sai, viene veramente voglia di mandare tutto al diavolo quando dai un "git push", ti viene risposto "Everything up-to-date", con gitk vedi un pallino giallo, una scatolina verde con la scritta "miaprova" e ti chiedi che cazzo e' successo.

        </rant>
        `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
        • Avatar
          ☺
          Scritto da
          il 2012-01-21 12:15:25.0 alle 2012-01-21 12:15:25.0
          Trollate totali: 6532
          Re: Rompiballe: GIT
          Scritto da: Giambo
          > Io continuo a sostenere la tesi di Chitto, e cioe' che git e' troppo complesso per quel che dobbiamo fare.
          > Branch remoti, locali, collegati o scollegati, perfino codici esadecimali Deluso !
          >
          > Quel che ci server e' un Source Code Management semplice, che mi permetta di fare un checkout, eventualmente un merge se ci sono state modifiche, e un checkin. Il tutto usando dei semplicissimi comandi, come "scm checkout" o "scm checkin".
          > Siamo 3 gatti che lavorano su un progettino microscopico, non stiamo reimplementando il Kernel di Linux.
          >
          > Sai, viene veramente voglia di mandare tutto al diavolo quando dai un "git push", ti viene risposto "Everything up-to-date", con gitk vedi un pallino giallo, una scatolina verde con la scritta "miaprova" e ti chiedi che cazzo e' successo.
          >
          > </rant>

          Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste
          • Avatar
            ☺
            Scritto da
            il 2012-01-21 12:42:45.0 alle 2012-01-21 12:42:45.0
            Trollate totali: 42885
            Re: Rompiballe: GIT
            Scritto da: Daisuke Niwa

            > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste

            YEAH A bocca storta ...

            Ma diocane, e' possibile che non ci sia un modo semplice per usare git da eclipse ? Qualcosa che si avvicini a svn-idiot-proof: Con un click vedo le differenze tra la mia versione e il repository, con un click faccio un checkout, con un click faccio un checkin.
            No, dopo un clone c'e' il branch locale distaccato e il commit e il merge e il push e porcamadonna e poi tanto non funziona niente lo stesso o se funziona vengono piallate le modifiche precedenti ...

            Vabbeh, qui le ultime modifiche (Mostra PB solo se forum=Proc di Catania), io ci rinuncio A bocca storta

            --- old/FdtDueZero/FdTViewer/WebContent/js/fdt.js
            +++ new/FdtDueZero/FdTViewer/WebContent/js/fdt.js
            @@ -127,12 +127,6 @@
             	});
             }
             
            -function initPB() {
            -	if (document.title.indexOf("Proc di Catania") >= 0) {
            -		jQuery("#bodyContent").addClass("pb");
            -	}
            -}
            -
             function insert(openTag, closeTag, parentId) {
             	var element = $("#reply_" + parentId + " :input[name='text']").get(0);
             	if (document.selection) {
            @@ -183,5 +177,4 @@
             			);
             	SyntaxHighlighter.defaults['toolbar'] = false;
             	SyntaxHighlighter.all();
            -	initPB();
             });
            

            --- old/FdtDueZero/FdTViewer/WebContent/pages/incHeader.jsp
            +++ new/FdtDueZero/FdTViewer/WebContent/pages/incHeader.jsp
            @@ -11,4 +11,12 @@
             			${randomQuote.content}
             		</p>
             	</c:if>
            -</div>+</div>
            +
            +<c:if test="${param.forum == 'Proc di Catania'}">
            +	<script type="text/javascript">
            +		jQuery("document").ready(function() {
            +			jQuery("#bodyContent").addClass("pb");
            +		});
            +	</script>
            +</c:if>
            


            **Modificato dall'autore il 21.01.2012 12:43**
            `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
            • Avatar
              ☺
              Scritto da
              il 2012-01-21 13:24:36.0 alle 2012-01-21 13:24:36.0
              Trollate totali: 6532
              Re: Rompiballe: GIT
              Scritto da: Giambo
              > Scritto da: Daisuke Niwa
              >
              > > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste
              >
              > YEAH A bocca storta ...
              >
              > Ma diocane, e' possibile che non ci sia un modo semplice per usare git da eclipse ? Qualcosa che si avvicini a svn-idiot-proof: Con un click vedo le differenze tra la mia versione e il repository, con un click faccio un checkout, con un click faccio un checkin.
              > No, dopo un clone c'e' il branch locale distaccato e il commit e il merge e il push e porcamadonna e poi tanto non funziona niente lo stesso o se funziona vengono piallate le modifiche precedenti ...
              >
              > Vabbeh, qui le ultime modifiche (Mostra PB solo se forum=Proc di Catania), io ci rinuncio A bocca storta
              >
              >
              > --- old/FdtDueZero/FdTViewer/WebContent/js/fdt.js
              > +++ new/FdtDueZero/FdTViewer/WebContent/js/fdt.js
              > @@ -127,12 +127,6 @@
              >  	});
              >  }
              >  
              > -function initPB() {
              > -	if (document.title.indexOf("Proc di Catania") >= 0) {
              > -		jQuery("#bodyContent").addClass("pb");
              > -	}
              > -}
              > -
              >  function insert(openTag, closeTag, parentId) {
              >  	var element = $("#reply_" + parentId + " :input[name='text']").get(0);
              >  	if (document.selection) {
              > @@ -183,5 +177,4 @@
              >  			);
              >  	SyntaxHighlighter.defaults['toolbar'] = false;
              >  	SyntaxHighlighter.all();
              > -	initPB();
              >  });
              > 

              >
              > --- old/FdtDueZero/FdTViewer/WebContent/pages/incHeader.jsp
              > +++ new/FdtDueZero/FdTViewer/WebContent/pages/incHeader.jsp
              > @@ -11,4 +11,12 @@
              >  			${randomQuote.content}
              >  		</p>
              >  	</c:if>
              > -</div>+</div>
              > +
              > +<c:if test="${param.forum == 'Proc di Catania'}">
              > +	<script type="text/javascript">
              > +		jQuery("document").ready(function() {
              > +			jQuery("#bodyContent").addClass("pb");
              > +		});
              > +	</script>
              > +</c:if>
              > 

              >
              > **Modificato dall'autore il 21.01.2012 12:43**

              Ma che hai fatto! Arrabbiato
              NON si mischia HTML e JS. Per il JS c'è il file apposta! Arrabbiato
              Se vuoi fare la cosa lato server allora basta aggiungere la classe pb a #bodyContent via codice lato server...
              • Avatar
                ☺
                Scritto da
                il 2012-01-21 13:56:14.0 alle 2012-01-21 13:56:14.0
                Trollate totali: 6532
                Re: Rompiballe: GIT
                Giambo, ho fatto così, controlla per favore se è apposto che io JSP & cazzi&mazzi non lo conosco:
                Ho modificato incTop.jsp in questo modo
                <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
                <!DOCTYPE html>
                <html>
                	<jsp:include page="incHead.jsp"/>
                	<body>
                		<div id="body"> <!-- non mettere nulla prima del div #body -->
                		<jsp:include page="incHeader.jsp"/>
                		<jsp:include page="incNav.jsp"/>
                		<c:set var="bodyContentClass" value="" scope="page" />
                		<c:if test="${param.forum == 'Proc di Catania'}">
                			<c:set var="bodyContentClass" value="pb" scope="page" />  
                		</c:if>
                		<div id="bodyContent" class="<c:out value='${bodyContentClass}' />">
                		<c:remove var="bodyContentClass" scope="page" />
                			<jsp:include page="incSidebar.jsp"/>
                


                In pratica ho aggiunto linea 1.
                Poi linea 9-10-11-12.
                Ho modificato linea 13.
                Ho aggiunto linea 14 (non so se serve o no ).

                **Modificato dall'autore il 21.01.2012 13:59**
          • Avatar
            ☺
            Scritto da
            avvelentani
            Cubicolario
            il 2012-01-21 13:27:48.0 alle 2012-01-21 13:27:48.0
            Trollate totali: 18184
            Re: Rompiballe: GIT
            Scritto da: Daisuke Niwa
            > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste

            L'unico modo che hai per perdere delle modifiche con git e` usando rebase. In tutti gli altri casi, i commit sono oggetti immutabili. Un commit e` per sempre.
            I think happiness is love
            - Vladimir Putin
            • Avatar
              ☺
              Scritto da
              il 2012-01-21 13:35:52.0 alle 2012-01-21 13:35:52.0
              Trollate totali: 6532
              Re: Rompiballe: GIT
              Scritto da: avvelentani
              > Scritto da: Daisuke Niwa
              > > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste
              >
              > L'unico modo che hai per perdere delle modifiche con git e` usando rebase. In tutti gli altri casi, i commit sono oggetti immutabili. Un commit e` per sempre.

              Io ho fatto il commit, infatti se vai nell'history di git c'è.
              Poi la suora ha fatto il merge delle modifiche di giambo, e siccome giambo aveva modificato lo stesso file che avevo modificato io, per qualche ragione, tutte le mie modifiche sono andate perse.

              Se usassimo SVN questo non sarebbe possibile. Ognuno avrebbe sempre accesso all'ultima versione committata. Non ci sarebbero repo locali da pushare, né poi repo locali da sincronizzare fra loro e mergiare decine di commit in un colpo solo con ovvi risultati.
              • Avatar
                ☺
                Scritto da
                il 2012-01-21 13:36:45.0 alle 2012-01-21 13:36:45.0
                Trollate totali: 6532
                Re: Rompiballe: GIT
                Scritto da: Daisuke Niwa
                > Scritto da: avvelentani
                > > Scritto da: Daisuke Niwa
                > > > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste
                > >
                > > L'unico modo che hai per perdere delle modifiche con git e` usando rebase. In tutti gli altri casi, i commit sono oggetti immutabili. Un commit e` per sempre.
                >
                > Io ho fatto il commit, infatti se vai nell'history di git c'è.
                > Poi la suora ha fatto il merge delle modifiche di giambo, e siccome giambo aveva modificato lo stesso file che avevo modificato io, per qualche ragione, tutte le mie modifiche sono andate perse.
                >
                > Se usassimo SVN questo non sarebbe possibile. Ognuno avrebbe sempre accesso all'ultima versione committata. Non ci sarebbero repo locali da pushare, né poi repo locali da sincronizzare fra loro e mergiare decine di commit in un colpo solo con ovvi risultati.

                Ah fra l'altro non è la prima volta che succede che devo rifare delle modifiche che avevo committato e pushato per colpa di git.
              • Avatar
                ☺
                Scritto da
                avvelentani
                Cubicolario
                il 2012-01-21 13:41:38.0 alle 2012-01-21 13:41:38.0
                Trollate totali: 18184
                Re: Rompiballe: GIT
                Scritto da: Daisuke Niwa
                > Scritto da: avvelentani
                > > Scritto da: Daisuke Niwa
                > > > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste
                > >
                > > L'unico modo che hai per perdere delle modifiche con git e` usando rebase. In tutti gli altri casi, i commit sono oggetti immutabili. Un commit e` per sempre.
                >
                > Io ho fatto il commit, infatti se vai nell'history di git c'è.
                > Poi la suora ha fatto il merge delle modifiche di giambo, e siccome giambo aveva modificato lo stesso file che avevo modificato io, per qualche ragione, tutte le mie modifiche sono andate perse.
                >

                Probabilmente suoranciata ha scazzato il merge.

                > Se usassimo SVN questo non sarebbe possibile.

                In svn succede che fai svn commit e non te lo fa fare, a quel punto esegui svn update e devi fare il merge, se fai un errore in quel merge le tue modifiche sono distrutte per sempre, svn non ha salvato una copia della tua working directory prima di svn update da nessuna parte. Con git questo non succede mai, i tuoi cambiamenti sono sempre nel repository, usando gitk potresti estrarli e riapplicarli.

                I think happiness is love
                - Vladimir Putin
          • Avatar
            ☺
            Scritto da
            avvelentani
            Cubicolario
            il 2012-01-21 13:36:14.0 alle 2012-01-21 13:36:14.0
            Trollate totali: 18184
            Re: Rompiballe: GIT
            Scritto da: Daisuke Niwa
            > Ieri ho dovuto rifare lo styling della sezione "Frasi Celebri" perché il merge delle tue modifiche (2 linee) aveva spianato tutte le modifiche che avevo fatto io... Triste

            L'unico modo che hai per perdere delle modifiche con git e` usando rebase. In tutti gli altri casi, i commit sono oggetti immutabili. Un commit e` per sempre.
            I think happiness is love
            - Vladimir Putin
        • Avatar
          ☺
          Scritto da
          avvelentani
          Cubicolario
          il 2012-01-21 13:24:51.0 alle 2012-01-21 13:24:51.0
          Trollate totali: 18184
          Re: Rompiballe: GIT
          Scritto da: Giambo
          > Io continuo a sostenere la tesi di Chitto, e cioe' che git e' troppo complesso per quel che dobbiamo fare.
          > Branch remoti, locali, collegati o scollegati, perfino codici esadecimali Deluso !
          >
          > Quel che ci server e' un Source Code Management semplice, che mi permetta di fare un checkout, eventualmente un merge se ci sono state modifiche, e un checkin. Il tutto usando dei semplicissimi comandi, come "scm checkout" o "scm checkin".
          > Siamo 3 gatti che lavorano su un progettino microscopico, non stiamo reimplementando il Kernel di Linux.
          >
          > Sai, viene veramente voglia di mandare tutto al diavolo quando dai un "git push", ti viene risposto "Everything up-to-date", con gitk vedi un pallino giallo, una scatolina verde con la scritta "miaprova" e ti chiedi che cazzo e' successo.
          >
          > </rant>

          Si tratta solo di imparare a fare tre cose, non e` nulla di impossibile. Se proprio vuoi installare svn e metterci i sorgenti sopra fai pure, a me non piace e` lento, la password extra che mi devo ricordare per svn mi rompe le scatole e non mi offre tutte le opzioni che git mi offre.
          I think happiness is love
          - Vladimir Putin
<softv>

Pagina generata in 232 millisecondi

Utenti attivi: 8 nell'ultimo minuto, 18 negli ultimi cinque minuti, 37 negli ultimi 15 minuti