[Linux-Biella] Git server

Daniele daniele.bilug a gmail.com
Lun 17 Nov 2008 09:28:18 CET


2008/11/16 Paolo Ciarrocchi <paolo.ciarrocchi a gmail.com>:
> Non so cosa sia. Conosco solo www.github.com che è un hoster di repository git.
> Io con win uso questo:
> http://code.google.com/p/msysgit/downloads/list

ups
si..
era questo che ho usato (sorry per l'inesattezza)
non ho fatto direttamente io

>>>> con le gui però non riesco a farlo funzionare (almeno da macchina window)
> Ehi, dimmi qualcosa in piu :-)
> Che problema hai con git gui?


a parte che non è per nulla intuitivo?
come imposto qual'è il repositosy da usare?
come gli imposto a quale ip/host collegarsi?
e come gli dico l'utente da usare e la chiave ssh?
e la porta personalizzata?

quindi...
se voglio visualizzare le differenze tra repository locale e remoto?

> gitk serve per visualizzare la storia di un repository, serve per
> visualizzare i commit, le interazioni con altri repository.
> Non serve per fare modiche.

ok

>> che altra info posso darti?
>> ho un server ssh su una porta non standard, es. 12345 (una vale l'altra)
>> server ssh che autentica solo ed esclusivamente tramite chiavi ssh
>
> OK. come provi a connetterti da win?

l'ideale sarebbe con un plugin interno a eclipse
secondariamente con una gui

per ora mi connetto usando msysgit da linea di comando

> Tu sotto mi hai fatto un esempio di lavoro in locale.
> Assolutamente corretto.

ma non hai detto che push non va usato?

> Poi ti sei chiesto come fare a vedere le modifiche fatte da un'altra
> persona in un altro repository, sbaglio?

no
da un'altra persona nello stesso repository
se devo committare una modifica prima di farlo devo vedere cos'hanno
fatto gli altri e risolvere eventuali conflitti

(non ho ancora guardato i link che mi hai dato)

> La finestra principale e' l'equivalente di git commit :-)

allora non ho capito

il commit, da quel che avevo capito, è un commit sul proprio
repository in locale
è il push che poi va a "spingere" quel commit sul repository remoto

ovviamente non è così

ma il push crea automaticamente un'altra revision?

> Prova quanto segue:
>
> ----
> Paolo a CASA ~
> $ mkdir daniele
>
> Paolo a CASA ~
> $ cd daniele/
>
> Paolo a CASA ~/daniele
> $ git init
> Initialized empty Git repository in c:/Documents and Settings/Paolo/daniele/.git
> /
>
> Paolo a CASA ~/daniele
> $ touch file.txt
>
> Paolo a CASA ~/daniele
> $ git add file.txt
>
> Paolo a CASA ~/daniele
> $ git commit -a -m "Primo commit"
> Created initial commit f9dee78: Primo commit
>  0 files changed, 0 insertions(+), 0 deletions(-)
>  create mode 100644 file.txt
>
> Paolo a CASA ~/daniele
> $ echo "Guarda cosa succede ora Daniele :-)" >> file.txt
>
> Paolo a CASA ~/daniele
> $ git gui
> ----
>
> Seleziona file.txt  e vedrai nella finestra in alto il contenuto della
> patch, in quella in basso andrai a scrivere il messaggio di log
> (equivalenete di git commit -m "messaggio di log").
> Chiaro?

appena torno a casa provo

>> fetch che fa?
>
> Sincronizza il tuo db con uno remoto senza aggiornare la working directory.

hum
credo che la cosa non mi sia molto chiara
sincronizza la directory .git con quella remota senza agire sui file locali?

questo cosa mi permette di fare?

> Si, ti ho fatto un esempio in qui ti mostro come vedere il lavoro
> fatto da un'altra persona su un'altro repository.

intendi da un'altra persona sullo STESSO repo? :)

> Non credo che git gui abbia integrato il fetch, sicrumante puoi fare push.

ancora non capisco
tu hai detto che non fai mai il push
cosa va fatto al suo posto? e perché?

> Ma il tutto è molto semplice:
> git fetch repository remoto
> gitk HEAD..FETCH_HEAD

quest'ultimo comando che significato ha?
(cosa fa ok... ma HEAD..FETCH_HEAD che significato ha?)


> Esite pero' un plugin git per eclipse (sviluppato ora da Google).

hum si l'ho visto
però installarlo non è propriamente semplice per il momento....
e la documentazione per riuscirci è piuttosto carente :)
appena riesco a installarlo sul pc windows che ci deve lavorare lo provo


Maggiori informazioni sulla lista Linux