PDA

Visualizza la versione completa : [OT]controllo versione e host remoto


giuseppe500
01-04-2013, 00:51
ciao.
Non sapevo dove mettere questa domanda.
vorrei controllare se aggiornare o cancellare da un host(register.it) in remoto la mia versione dei file in locale e vedere le differenze nei files(tra locale e remoto).
Ho pensato di usare git o svn via ftp.
possibile?
necessitano(git o svn o uno dei due) di installare qualcosa sul server?
voi quale mi consigliate?
uso win 7.

grazie.
ciao.

giuseppe500
01-04-2013, 02:38
ho letto qualcosa sui
SVN hook (post-commit)
http://www.ameir.net/blog/archives/35-Sync-SVN-repository-with-remote-FTP-server.html
ma non riesco a capire come estrae solo i files di cui ho fatto i l commit con svn.
L' esempio su internet ha poi un semplice client ftp che fa la sincronizzazione , inviando solo i files di cui ho fatto il commit.
Puo essere una cosa affidabile secondo voi?
chiedo.
ciao.

Vincenzo1968
02-04-2013, 17:30
Ti consiglio caldamente git:

http://rogerdudler.github.com/git-guide/index.it.html

http://git-scm.com/book

https://help.github.com/

http://marklodato.github.com/visual-git-guide/index-en.html

http://code.google.com/p/tortoisegit/


Qui un confronto gra git e svn(un po' vecchio, del 2008):

http://minddrivenit.blogspot.it/2008/04/git-il-controllo-versione-che-ti-fa.html

http://minddrivenit.blogspot.it/2010/02/tortoisegit-ha-ucciso-il-mio-cheat.html

giuseppe500
05-04-2013, 18:38
grazie Vincenzo, ho letto i tuoi post.
Quello che volevo chiederti se possibile utilizzare con git l'ftp, mi piacerebbe avere come sistema di controllo di versione git su di un mio progetto ma possibile fare un commit solo dei files cambiati e magari inviarlo ad un host ftp?
ho letto che git "piu utile" proprio se usato in un contesto tipo opensource dove i progammatori sono lontani e lavorano su un unico progetto



Potete usare Git con successo se avete programmatori esperti che lavorano in locazioni diverse, senza un particolare scheduling e in maniera molto autonoma, e se le modifiche vengono spesso trasferite in modo eterogeneo. In poche parole se state gestendo un progetto di tipo Open Source.


io lo vorrei utilizzare per spedire sull' host solo i files che mi pare(vuoi perch modificati, vuoi perch mi pare a me) e non una cartella con moltissimi files non cambiati o che non voglio spedire.

e ho letto anche che:


- Con Git avete il vantaggio di non dover nemmeno installare un server: pu essere gestito completamente dal client perch nella cartella di lavoro (il cosidetto tarball) contenuto anche il repository con una storia delle modifiche, compresi i branch.

ciao.
grazie.

Vincenzo1968
05-04-2013, 18:59
Originariamente inviato da giuseppe500
grazie Vincenzo, ho letto i tuoi post.
Quello che volevo chiederti se possibile utilizzare con git l'ftp, mi piacerebbe avere come sistema di controllo di versione git su di un mio progetto ma possibile fare un commit solo dei files cambiati e magari inviarlo ad un host ftp?
ho letto che git "piu utile" proprio se usato in un contesto tipo opensource dove i progammatori sono lontani e lavorano su un unico progetto



io lo vorrei utilizzare per spedire sull' host solo i files che mi pare(vuoi perch modificati, vuoi perch mi pare a me) e non una cartella con moltissimi files non cambiati o che non voglio spedire.

e ho letto anche che:


- Con Git avete il vantaggio di non dover nemmeno installare un server: pu essere gestito completamente dal client perch nella cartella di lavoro (il cosidetto tarball) contenuto anche il repository con una storia delle modifiche, compresi i branch.

ciao.
grazie.

Si, con git possibile specificare quali file vuoi inviare. Per esempio, se hai una cartella con tanti file ma vuoi inviare solamente il file "miofile.c", puoi dare il comando:



git add miofile.c


Questo aggiunge il file specificato all'indice. Per inviarlo effettivamente devi dare il comando commit:



git commit -m "Inviato file miofile.c con eclatanti modifiche"


Per vedere quali file saranno inviati col comando commit(se, per esempio hai eseguito git add per pi di un file e non ti ricordi quali file sono):



git status


;)

giuseppe500
05-04-2013, 19:06
scusa se rompo , ma:
1) possibile utilizzare l'ftp per inviare i files ?
2)se non possibile utilizzare l'ftp posso sempre fare una copia temporanea di quello che vorrei inviare in una cartella e poi inviare il contenuto della cartelle?
3) possibile utilizzare dei criteri con l'add di git? per es files modificati, aggiunti ecc...?
4)posso creare un file coi criteri che voglio con linux direzionandoli in un file di testo e passargli quello?e per win?


grazie comunque.

Vincenzo1968
05-04-2013, 20:21
Si, possibile utilizzare ftp:

http://it.wikipedia.org/wiki/Git_%28software%29


I repository possono essere pubblicati facilmente tramite HTTP, FTP, ssh, rsync, o uno speciale protocollo git. Git ha anche un'emulazione del server CVS, che consente di usare gli esistenti client CVS e plugin per IDE per accedere ai repository Git.


Per esempio, puoi passare questo al comando push:

ftp[s]://host.xz[:port]/path/to/repo.git/

Per usare http, invece:

http[s]://host.xz[:port]/path/to/repo.git/



un po' che non lo uso e non ricordo se si possa utilizzare un file da passare a git. Dovresti vedere nella documentazione. Se trovo il libro(non mi ricordo dove l'ho cacciato) ti faccio sapere.

Per quanto riguarda la selezione dei file da inviare, il commit invia solo i file modificati. Se provi a fare un commit e i file non sono stati modificati, non viene inviato niente(git ti mostra un messaggio esplicativo).

E, prima dimenticavo, il comando add devi eseguirlo solo la prima volta. Dalla seconda volta in poi, sufficiente il semplice commit. Per esempio:



git commit miofile.cpp -m "Ciao Ciao"


Inoltre, per inviare i file devi effettuare una push:



git push origin master


master il repository locale o remoto(su github?) dove vuoi inviare i file.

giuseppe500
05-04-2013, 20:56
grazie.
solo che non riesco a fare il push con l'ftp.
il mio host ha una password e un user e non so dove metterli , ho provato anche a leggere le man del push ma niente.
Ma cosa vuole dire publicare il repository? c' da installare o configurare qualcosa sul server per inviare i file?
scusa la mia ignoranza. :facepalm:
appena riesco prendo un libro su git.
ciao. :ciauz:

Vincenzo1968
05-04-2013, 23:24
Originariamente inviato da giuseppe500
grazie.
solo che non riesco a fare il push con l'ftp.
il mio host ha una password e un user e non so dove metterli , ho provato anche a leggere le man del push ma niente.
Ma cosa vuole dire publicare il repository? c' da installare o configurare qualcosa sul server per inviare i file?
scusa la mia ignoranza. :facepalm:
appena riesco prendo un libro su git.
ciao. :ciauz:

Domani ti posto un esempio completo con degli screenshot. Adesso sono stanco morto.
Per poter fare le push il repository remoto dev'essere configurato come "bare".
Dai un'occhiata qui:

http://www.bitflop.com/document/111

se il tuo repository remoto configurato come "non bare", puoi configurarlo(come mostra l'articolo) come bare con un comando simile:



git clone --bare -l non_bare_repo new_bare_repo


Dai un'occhiata anche qui:

http://gitolite.com/concepts/bare.html

;)

Vincenzo1968
06-04-2013, 13:48
http://img707.imageshack.us/img707/2561/githowto01.jpg

http://img138.imageshack.us/img138/7797/githowto02.jpg

http://img17.imageshack.us/img17/2771/githowto03.jpg

http://img837.imageshack.us/img837/7512/githowto04.jpg

Loading