Manage GIT
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,219
On Slideshare
1,089
From Embeds
130
Number of Embeds
2

Actions

Shares
Downloads
9
Comments
0
Likes
1

Embeds 130

http://www.idg.ro 127
http://meltwaternews.com 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ Incheiere Gestiunea repository-urilor folosind solutii Git , Linux and Open Source R˘zvan Deaconescu a razvan@rosedu.org 24 februarie 2011R˘zvan Deaconescu aGit Repositories
  • 2. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ Incheiere 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 3. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 4. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereSisteme de versionare a codului Version Control System (VCS), Source Code Management (SCM) repository, repository URL working copy/clone commit, checkout, push, pull, HEAD, branch, merge, tag, trunk centralizat: Subversion, Perforce descentralizat: Git, Mercurial, DarcsR˘zvan Deaconescu aGit Repositories
  • 5. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit model descentralizat: fiecare utilizator detine o copie , complet˘ a repository-ului a “very fast and scalable” dezvoltare neliniar˘ si distribuit˘ a , a facil de creat si gestionat branch-uri ,R˘zvan Deaconescu aGit Repositories
  • 6. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereURL-uri Git SSH (autentificare pe baz˘ de parol˘ sau chei) a a razvan@swarm.cs.pub.ro:git-repos/slides.git HTTP(S) http://swarm.cs.pub.ro/git/razvan-code.git gitdaemon git://github.com/vmchecker/vmchecker.gitR˘zvan Deaconescu aGit Repositories
  • 7. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit peste SSH avantaje securizat privat evitarea parolei (cheie public˘) a usor de configurat , dezavantaje problematic de partajat (ˆ general) necesit˘ un cont Unix ın aR˘zvan Deaconescu aGit Repositories
  • 8. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGit peste HTTP avantaje universal disponibil (portul 80) configurare facil˘ ˆ cadrul unui server web a ın dezavantaje lent configurare suplimentar˘ pentru push (post-update hook) sau a autentificareR˘zvan Deaconescu aGit Repositories
  • 9. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereProtocolul Git avantaje rapid simplu dezavantaje posibilit˘ti reduse de configurare a permisiunilor (ˆ general a, ın read-only) configurare daemon/serviciu nou not Internet friendly port (9418)R˘zvan Deaconescu aGit Repositories
  • 10. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 11. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitolite http://github.com/sitaramc/gitolite gestiune centralizat˘ a repository-urilor a acces pe baz˘ de chei publice SSH, f˘r˘ necesitatea unui cont a aa Unix command="command" ˆ authorized keys ın gestiunea accesului la repository-uri configurarea tot ˆ ıntr-un repository Git (repository-uri, acces, chei publice)R˘zvan Deaconescu aGit Repositories
  • 12. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAvantaje folosire Gitolite gestiunea repository-urilor se realizeaz˘ centralizat a crearea repository-urilor se realizeaz˘ automat la push a controlul accesului posibilitate de administrare partajat˘ (accesul la repository-ul a de administrare)R˘zvan Deaconescu aGit Repositories
  • 13. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 14. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitweb https://git.wiki.kernel.org/index.php/Gitweb interfat˘ web pentru vizualizarea repository-urilor ,aR˘zvan Deaconescu aGit Repositories
  • 15. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAvantaje folosire Gitweb usor de configurat si instalat , , apt-get install gitweb interfat˘ de parcurgere a codului ˆ browser ,a ın publicare informatii: ownership, URls, description , download snapshots (.zip, .tgz)R˘zvan Deaconescu aGit Repositories
  • 16. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 17. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitHub https://github.com/ “social coding” utilizatorul creeaz˘ repository-uri a poate invita alti utilizatori , organizatii (echipe) , wiki, issues, graphs HTTP, git, SSH (public key) comercial – repository-uri private, colaboratori privati, spatiu , ,R˘zvan Deaconescu aGit Repositories
  • 18. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereGitorious http://gitorious.org/ utilizatori, repository-uri, echipe (similar GitHub) instalabil pe sistemul local wiki, code review HTTP, git, SSH (public key) suport comercial – http://gitorious.com/ (nimic concret)R˘zvan Deaconescu aGit Repositories
  • 19. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 20. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereSingle user repository local (f˘r˘ repository URL) aa git init . && git add . && git commit -m ’initial commit’ “backup” prin SSH ˆ cazul unui cont Unix ınR˘zvan Deaconescu aGit Repositories
  • 21. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheierePrivate party cont Unix partajat acces prin SSH (chei publice) usor personalizabil (hook-uri) ,R˘zvan Deaconescu aGit Repositories
  • 22. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheierePrivate project 1 Gitolite acces SSH pe baz˘ de chei publice a usor de configurat si administrat , , 2 HTTPS securizare + autentificare cˆnd se foloseste unui cont specializat (username/parol˘) a , a (LDAP, database etc.) Redmine repositories cˆnd este problematic accesul prin chei SSH (pentru Gitolite) aR˘zvan Deaconescu aGit Repositories
  • 23. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereFor the world 1 Gitolite pentru push (write updates) symlink-uri ˆ /var/cache/git si configurare a serverului web ın , (HTTP read-only access) 2 HTTPS HTTP pentru read-only HTTPS si autentificare pentru push , configurare Gitweb configurare git-daemon (read-only access) (serveste din , /var/cache/git)R˘zvan Deaconescu aGit Repositories
  • 24. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 25. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAdministrare Gitolite gestiunea facil˘, centralizat˘, scalabil˘ a repository-urilor a a a GitHub, Gitorious outsourcingR˘zvan Deaconescu aGit Repositories
  • 26. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereAll is text scripturi si fisiere de configurare , , LaTeX & LaTeX Beamer Inkscape – SVG, Dia – salvare ca fisier necomprimat (format , XML) fisiere de organizare/task-uri (Org-Mode ˆ Emacs) , ınR˘zvan Deaconescu aGit Repositories
  • 27. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereVersionare si “diff”-ing , versionarea facil˘ a fisierelor de configurare (/etc/apache2/) a , versionarea temelor submise (studiu de caz UPB) folosire de tag-uri pentru ani se lucreaz˘ peste acelasi “code base” a , nu se mai face un director pentru fiecare anR˘zvan Deaconescu aGit Repositories
  • 28. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereHook-uri post-receive trimis e-mail-uri/notific˘ri a creat arhive, compilat prezent˘ri/fisiere LaTeX, publicat a , resurse usor de integrat ˆ wiki-uri , ın link-ul nu se schimb˘, doar continutul acestuia a , problematic de integrat cu GitoliteR˘zvan Deaconescu aGit Repositories
  • 29. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereOutline 1 Git 2 Gitolite 3 Gitweb 4 Hosted 5 Scenarii de utilizare 6 Recomand˘ri a 7 ˆ IncheiereR˘zvan Deaconescu aGit Repositories
  • 30. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereResurse utile http://git-scm.com/ http://gitimmersion.com/index.html http://www.gitready.com/ http://progit.org/ http://github.com/sitaramc/gitolite https://git.wiki.kernel.org/index.php/Gitweb https://github.com/ http://gitorious.org/R˘zvan Deaconescu aGit Repositories
  • 31. Git Gitolite Gitweb Hosted Scenarii de utilizare Recomand˘ri a ˆ IncheiereˆIntreb˘ri a repository URL Git Gitolite Gitweb scenarii all is textR˘zvan Deaconescu aGit Repositories