Introduzione al Controllo di versione (in generale) e al funzionamento di Git (in particolare). Upgrade di un'altra presentazione simile nelle basi ma incentrata su SVN.
Breve introduzione a GIT:
. Iniziare un nuovo progetto o clonarne uno esistente
. primi commit e comandi base
. esempi di utilizzo
Autore: Valerio Radice
tag line:
Tutorial GIT ITA italiano
Version control systems like Git allow teams to collaborate on code by automatically backing up work, tracking changes over time, and easily sharing code between collaborators. Git uses repositories to store source code and a branching model like GitFlow to coordinate work between team members on features, releases, and hotfixes in a stable, collaborative way. Key concepts in Git include repositories, working copies, commits, updates, pulls, and pushes used to integrate changes between local and remote repositories.
Git is a version control system that stores snapshots of files rather than tracking changes between file versions. It allows for offline work and nearly all operations are performed locally. Files can exist in three states - committed, modified, or staged. Commits create snapshots of the staged files. Branches act as pointers to commits, with the default branch being master.
This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.
One of the biggest advantages of Git is its branching capabilities. Unlike centralized version control systems, Git branches are cheap and easy to merge. This facilitates the feature branch workflow popular with many Git users.
Git provides a distributed version control system that is faster and more lightweight than the centralized SVN. Git allows for easy branching and merging of code. Developers can work independently on their local repositories and sync changes to remote repositories. This allows teams to work together seamlessly on codebases.
This slide discusses the most popular distributed version control system that is GIT and it's different commands that we need in our daily operations for project collaboration.
Github is an online hosting service for software development and version control that allows developers to store code and documentation in online repositories. Developers can collaborate on projects by making changes to code and documentation that are tracked by the version control system Git. Git allows developers to revert files or entire projects to previous versions, compare changes over time, experiment safely, and keep a revision history of the project.
A Git Workflow Model or Branching StrategyVivek Parihar
油
Vivek Parihar is a serial entrepreneur and polyglot engineer who currently serves as VP of Engineering at XOXODay. He has co-founded two startups and previously served as Head of Engineering for Mobile at Yatra. When not working, he enjoys extreme thrill-seeking adventures like trekking and boxing. The document then outlines Gitflow, a branching model for managing code development, including feature branches for new features, release branches to prepare releases, and hotfix branches for urgent bug fixes in production.
Git is a distributed version control system, created by Linus Torvalds, and used worldwide by many software developers for a large number of well known software projects.
In this presentation, I explain the fundamentals of the Git software and some of its internal workings and related terminology. The target audience is individuals who have used Git before in a limited capacity and want expand their knowledge of the software to improve their daily use of it. The presentation could also be useful for those with knowledge of Git and a desire to improve their understanding of some of the more technically elements.
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Git is a distributed version control system that allows developers to work collaboratively on projects. It works by creating snapshots of files in a project over time. Developers can commit changes locally and then push them to a remote repository to share with others. Key Git concepts include repositories, commits, branches, cloning repositories from remote locations, and commands like push, pull, commit, log and diff to manage changes.
The document provides instructions on installing git and creating a GitHub account, then defines important git concepts like repositories, commits, branches and remotes. It explains how to initialize a local git repository, add and commit files, and then push the repository to GitHub. Key steps include downloading git, signing up for GitHub, initializing a local repo, making commits, and linking the local repo to a new remote repo on GitHub.
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then well dive into an exploration of the more advanced and dangerous Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
Git is a distributed version control system designed to be efficient, support non-linear development (e.g. branching and merging), and work well on large projects with many developers collaborating simultaneously on the same files. It stores content in a data model of immutable objects (blobs, trees, commits) accessed through references like branches and tags. This allows it to efficiently track file history and versions across branches without duplicating data.
This document discusses package management in Linux. It describes how package management allows installing, upgrading, and removing software packages from repositories. There are two main package formats: RPM packages used in systems like CentOS and Fedora, and DEB packages in Ubuntu and Debian. RPM-based systems can use either the lower-level RPM tool or higher-level YUM tool to manage packages and dependencies.
This document provides an overview of version control and the distributed version control system Git. It discusses the history and benefits of version control, including backup and recovery, synchronization, undo capabilities, and tracking changes. Key aspects of Git are explained, such as branching and merging, the fast and efficient nature of Git, and how it allows for cheap local experimentation through branches. The document demonstrates Git workflows and commands and provides resources for further information.
Git is a version control system created by Linus Torvalds that allows developers to track changes to code. GitHub is a free online repository that hosts Git repositories and allows developers to share code and collaborate on projects remotely. GitHub also allows developers to showcase their work and share their code publicly, potentially helping with job applications by including a GitHub URL. Git uses snapshots of files, adding, committing, and pushing changes to track a project's evolution over time through simple commands like init, add, commit, push, clone, and branch.
Version Control History and Git BasicsSreedath N S
油
A 45 minutes presentation slides on Version Control History and Git Basics by
1. Sreedath N S, Devops Engineer, Zesty Beanz Technologies Pvt. Ltd. http://in.linkedin.com/in/sreedathnamangalam
2. Fahad Basheer, Cloud Computing Consultant, Zesty Beanz Technologies Pvt. Ltd. http://in.linkedin.com/in/fahadpv
http://www.zbeanztech.com/
Introduction to Git & GitHub.
Agenda:
- Whats a Version Control System?
- What the heck is Git?
- Some Git commands
- Whats about GitHub?
- Git in Action!
Docker allows for easy deployment and management of applications by wrapping them in containers. It provides benefits like running multiple isolated environments on a single server, easily moving applications between environments, and ensuring consistency across environments. The document discusses using Docker for development, production, and monitoring containers, and outlines specific benefits like reducing deployment time from days to minutes, optimizing hardware usage, reducing transfer sizes, and enhancing productivity. Future plans mentioned include using Kubernetes for container orchestration.
This document provides an introduction to Git and GitHub. It discusses key features of Git including being a distributed version control system designed for speed and efficiency. It covers setting up Git locally and on GitHub, including configuring user information, initializing and cloning repositories, and pushing and pulling changes. The document also provides some basic Git commands and points to additional learning resources for beginners.
際際滷s di una breve conferenza che ho tenuto a scuola. Ritengo che lo stereotipo del programmatore brutto, scontrorso e antisociale sia in declino, ma perch辿 ci嘆 si realizzi davvero occorre affinare nuove abilit, le abilit sociali. Sia Online che Offline
Basato in parte sul lavoro seguente
http://www.slideshare.net/mastorey/msr-2012-keynote-storey-slideshare
This slide discusses the most popular distributed version control system that is GIT and it's different commands that we need in our daily operations for project collaboration.
Github is an online hosting service for software development and version control that allows developers to store code and documentation in online repositories. Developers can collaborate on projects by making changes to code and documentation that are tracked by the version control system Git. Git allows developers to revert files or entire projects to previous versions, compare changes over time, experiment safely, and keep a revision history of the project.
A Git Workflow Model or Branching StrategyVivek Parihar
油
Vivek Parihar is a serial entrepreneur and polyglot engineer who currently serves as VP of Engineering at XOXODay. He has co-founded two startups and previously served as Head of Engineering for Mobile at Yatra. When not working, he enjoys extreme thrill-seeking adventures like trekking and boxing. The document then outlines Gitflow, a branching model for managing code development, including feature branches for new features, release branches to prepare releases, and hotfix branches for urgent bug fixes in production.
Git is a distributed version control system, created by Linus Torvalds, and used worldwide by many software developers for a large number of well known software projects.
In this presentation, I explain the fundamentals of the Git software and some of its internal workings and related terminology. The target audience is individuals who have used Git before in a limited capacity and want expand their knowledge of the software to improve their daily use of it. The presentation could also be useful for those with knowledge of Git and a desire to improve their understanding of some of the more technically elements.
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Git is a distributed version control system that allows developers to work collaboratively on projects. It works by creating snapshots of files in a project over time. Developers can commit changes locally and then push them to a remote repository to share with others. Key Git concepts include repositories, commits, branches, cloning repositories from remote locations, and commands like push, pull, commit, log and diff to manage changes.
The document provides instructions on installing git and creating a GitHub account, then defines important git concepts like repositories, commits, branches and remotes. It explains how to initialize a local git repository, add and commit files, and then push the repository to GitHub. Key steps include downloading git, signing up for GitHub, initializing a local repo, making commits, and linking the local repo to a new remote repo on GitHub.
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then well dive into an exploration of the more advanced and dangerous Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
Git is a distributed version control system designed to be efficient, support non-linear development (e.g. branching and merging), and work well on large projects with many developers collaborating simultaneously on the same files. It stores content in a data model of immutable objects (blobs, trees, commits) accessed through references like branches and tags. This allows it to efficiently track file history and versions across branches without duplicating data.
This document discusses package management in Linux. It describes how package management allows installing, upgrading, and removing software packages from repositories. There are two main package formats: RPM packages used in systems like CentOS and Fedora, and DEB packages in Ubuntu and Debian. RPM-based systems can use either the lower-level RPM tool or higher-level YUM tool to manage packages and dependencies.
This document provides an overview of version control and the distributed version control system Git. It discusses the history and benefits of version control, including backup and recovery, synchronization, undo capabilities, and tracking changes. Key aspects of Git are explained, such as branching and merging, the fast and efficient nature of Git, and how it allows for cheap local experimentation through branches. The document demonstrates Git workflows and commands and provides resources for further information.
Git is a version control system created by Linus Torvalds that allows developers to track changes to code. GitHub is a free online repository that hosts Git repositories and allows developers to share code and collaborate on projects remotely. GitHub also allows developers to showcase their work and share their code publicly, potentially helping with job applications by including a GitHub URL. Git uses snapshots of files, adding, committing, and pushing changes to track a project's evolution over time through simple commands like init, add, commit, push, clone, and branch.
Version Control History and Git BasicsSreedath N S
油
A 45 minutes presentation slides on Version Control History and Git Basics by
1. Sreedath N S, Devops Engineer, Zesty Beanz Technologies Pvt. Ltd. http://in.linkedin.com/in/sreedathnamangalam
2. Fahad Basheer, Cloud Computing Consultant, Zesty Beanz Technologies Pvt. Ltd. http://in.linkedin.com/in/fahadpv
http://www.zbeanztech.com/
Introduction to Git & GitHub.
Agenda:
- Whats a Version Control System?
- What the heck is Git?
- Some Git commands
- Whats about GitHub?
- Git in Action!
Docker allows for easy deployment and management of applications by wrapping them in containers. It provides benefits like running multiple isolated environments on a single server, easily moving applications between environments, and ensuring consistency across environments. The document discusses using Docker for development, production, and monitoring containers, and outlines specific benefits like reducing deployment time from days to minutes, optimizing hardware usage, reducing transfer sizes, and enhancing productivity. Future plans mentioned include using Kubernetes for container orchestration.
This document provides an introduction to Git and GitHub. It discusses key features of Git including being a distributed version control system designed for speed and efficiency. It covers setting up Git locally and on GitHub, including configuring user information, initializing and cloning repositories, and pushing and pulling changes. The document also provides some basic Git commands and points to additional learning resources for beginners.
際際滷s di una breve conferenza che ho tenuto a scuola. Ritengo che lo stereotipo del programmatore brutto, scontrorso e antisociale sia in declino, ma perch辿 ci嘆 si realizzi davvero occorre affinare nuove abilit, le abilit sociali. Sia Online che Offline
Basato in parte sul lavoro seguente
http://www.slideshare.net/mastorey/msr-2012-keynote-storey-slideshare
際際滷s presentate all'incontro Didamatica 2016 a Udine. Si parla dei vantaggi didattici di una introduzione precoce dei principi Agili nella didattica informatica quotidiana (un mio pallino).
Dopo molti anni mi sono ritrovato a insegnare Informatica in una terza. Questo 竪 una breve slide che ho fatto per spiegare il ciclo for
C'竪 un errore nelle slides 7---9. ho scritto erroneamente una "," al posto del ";".
The document discusses migrating a project from Subversion (SVN) to Git and GitHub. It provides information on git-svn, which allows interacting with an SVN repository as if it were local Git repositories. It also provides commands for using svn2git to convert an SVN repository to Git. Finally, it shows how to get the authors from the SVN log to maintain that metadata during conversion.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
油
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Andremo alla scoperta di Git (https://git-scm.com/), un source control che si ad
atta alle esigenze degli sviluppatori, ottimizeremo il codice passando per l'app
roccio del Continuous Integration ed in fine useremo Docker (https://www.docker.
com/) per deploy rapidi e scalabili.
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
油
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
Introduzione a GIT con le basi per utilizzarlo in poco tempo.Storia, comandi di base (git init, commit, push pull) e comandi avanzati.Presentazione realizzata da Daniele Mondello, Fabio Pileri, Marcello Vetro al PHP User Group Palermo.
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Janhu Silvio Crispiatico
油
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014 tenuta dal dott. Silvio Crispiatico alla Citt della Luce.
Per maggiori informazioni www.lacittadellaluce.org - www.ecommunication.it
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
油
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi gi esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate per嘆 di CITARMI! :D
Corso base linux, percorre i concetti fondamentali per l'amministrazione di una distribuzione linux. In particolar modo, ci sofferma su: file system, partizionamento, shell, bash, kernel, distribuzioni, amministrazione utenti, sicurezza e cron. Sono presenti alcuni esercizi pratici di programmazione bash per una comprensione pratica dello strumento.
Breve introduzione critica a Systemd, il nuovo sistema di init introdotto nel 2010 e recentemente adottato da molte distribuzioni.
La presentazione illustra in modo semplice come 竪 nato Systemd, quali le sue caratteristiche salienti, gli aspetti positivi e negativi riscontrati.
Relatore: Christopher R. Gabriel
Evento: Serata su Systemd - 11 Giugno 2015
Organizzatore LUG Como
Luogo: Circoscrizione 6 Via Achille Grandi 21
Breve introduzione critica a Systemd, il nuovo sistema di init introdotto nel 2010 e recentemente adottato da molte distribuzioni.
La presentazione illustra in modo semplice come 竪 nato Systemd, quali le sue caratteristiche salienti, gli aspetti positivi e negativi riscontrati.
Relatore: Christopher R. Gabriel
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica 竪 ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte 竪 adatta ai ragazzi di 1-2属 liceo SSA e di 2属-3属 ITIS (in particolare ad indirizzo informatico)
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica 竪 ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte 竪 adatta ai ragazzi di 1-2属 liceo SSA e di 2属-3属 ITIS (in particolare ad indirizzo informatico)
Una primissima introduzione al TDD per chi 竪 a digiuno di test in generale e di TDD in particolare. Usa Java/Junit, ma 竪 facimente adattabile ad altri linguaggi. 40-60 minuti.
Introduzione al linguaggio Java per chi ha esperienza di C++. Non si parla di OOP, solo di linguaggio.
Codice sorgente dell'esercizio finale qui: https://pastebin.com/R4yZGQcy
Queste slide dal titolo provocatorio cercano di dare l'idea che la stupidit e la pigrizia possono avere un effetto positivo nela programmazione per la ricerca di soluzioni semplici. Nello specifico caso parliamo di funzioni in C
Introduzione al sistema binario adatto a ragazzi delle scuole superiori (liceo scientico o ITIS)
Traduzione delle slides omonime presenti qu su slideshare di german margrit
1. Version Control
Introduzione, principi generali e implementazione in Git
gennaio 2011
aggiornato aprile 2012
ri-aggiornato febbraio 2013
ri-ri-aggiornato aprile 2014
2. Di che si parla?
Quando un progetto software diventa complesso,
anche la sua gestione 竪 complicata
Il controllo revisioni permette di gestire tutte le
modifiche apportate ai documenti del progetto,
archiviando tutte le versioni del progetto sin dal suo
inizio
Ecco cosa si pu嘆 fare...
3. E se non lo uso?
E' un mondo libero, e ciascuno 竪 libero di sbagliare
nel modo che preferisce.
MA questo 竪 quello che pu嘆 succedere..
4. Metodologie di sviluppo...
Sviluppatore singolo
Pi湛 sviluppatori
Sviluppo con copie multiple
Sviluppo con copia unica
6. Sviluppatore singolo
(Problemi)
Difficile recuperare le versioni pi湛 vecchie
basandosi sulla data.
Difficile stabilire le differenze tra le versioni di uno
stesso file.
8. Sviluppatori multipli
(Sviluppo con copia individuale)
Problemi
Difficile riunire i vari file modificati singolarmente.
Difficile recuperare le versioni precedenti basandosi
sull'utente o sulla data.
10. Sviluppatori multipli
(Sviluppo con copia unica)
Problemi
Impatto sul server e traffico di rete.
Tempi di sviluppo lenti.
Difficile recuperare le versioni precedenti,
basanndosi sulla data o sull'utente.
Non si possono vedere le differenze tra la versione
precedente e l'attuale.
11. I problemi in sintesi
Non c'竪 modo di recuperare le versioni precedenti,
basandosi sulla data o l'utente.
Non c'竪 modo di vedere le differenze tra le versioni.
Processo di fusione versioni manuale, lento e di
dubbio successo.
Lunghi tempi di sviluppo.
12. Come risolverli?
Utilizzando, ad esempio, un sistema di controllo
revisione.
Detto anche Versioning, o Revision Control System
Revision control (also known as version control, source control
or (source) code management (SCM)) is the management of
changes to documents, programs, and other information stored
as computer files.
13. Sviluppatore singolo
#include<stdio.h>
Int main()
{
int a;
int b;
}
File.c
#include<stdio.h>
Int main()
{
int a;
}
File.c
Ieri
Stamattina
Versione-1 Versione-2 Versione-3
#include<stdio.h>
Int main()
{
int a;
int b;
}
File.c
Stasera
14. Sviluppatori multipli
(Sviluppo in copia individuale)
Sviluppatore-1
Sviluppatore-2
Sviluppatore-3
Copia di lavoro - 1 del
Repository
Server
Repository (deposito)
principale
Copia di lavoro - 2 del
Repository
Commit (Consegna)
Primo checkout (copia) dal repository del server
Aggiornamentodal server
Copia di lavoro 3 del
Repository
15. Gestione file nel Repository
Versione-1
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-3
Date : 24-10- 2007
Time :1200:12
User : user-3
Date : 24-10- 2007
Time :1200:12
User : user-2
Date : 24-10- 2007
Time :12:00:12
User : user-2
Date : 24-10- 2007
Time :12:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-3
Date : 24-10- 2007
Time :11:00:12
User : user-3
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-1
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-2
Date : 24-10- 2007
Time :11:00:12
User : user-3
Date : 24-10- 2007
Time :11:00:12
User : user-3
Date : 24-10- 2007
Time :11:00:12
Versione-2 Versione-3 Versione-4
16. Cosa otteniamo?
Un posto dove memorizzare le varie versioni
del codice (e tutti i documenti correlati)
Possibilit di tornare indietro in caso di errore
e tracciare le modifiche
Codice sempre aggiornato
Sviluppo parallelo facilitato
17. 40 anni di versioning
SCCS & RCS ('70) CVS (2006)
Subversion (2001) GIT (2005)
18. SCCS e RCS
SCSS: Rilasciato nel 1972, proprietario
Enorme successo
Base di tutti gli altri sistemi
RCS: Rilasciato nel 1983, free software
Lavora solo su singoli file
Sintassi complessa
19. CVS
Basato su (RCS) con informazioni addizionali
Presenta per嘆 alcune lacune, tra le quali:
Supporta solo file di testo
Numerazione separata per ogni file
Impossibile rinominare i file
20. SVN
Subversion, SVN per gli amici, 竪 un'evoluzione di
CVS
E' open source e gratuito (Apache Licence)
E' molto diffuso
E' multipiattaforma
E' integrato in vari IDE
21. DRCS: Hg e Git
Con l'avvento di Internet, si sviluppano i Distributed
Revision Control System.
Sfruttano le nuove caratteristiche dei sistemi e la
rete.
I pi湛 noti sono Mercurial (Hg per gli amici) e Git.
Basati su un software proprietario chiamato
Bitkeeper
(ma sono entrambi open source)
22. DRCS perch辿 竪 meglio?
Git SVN
Si pu嘆 lavorare offline, perch辿 il sistema 竪
locale
Se non c'竪 rete non si pu嘆 lavorare (e si
piange amaramente)
Si pu嘆 portare il lavoro in una chiavetta No, non si pu嘆
Creazione semplice di una diramazione
sperimentale
Creare diramazioni 竪 complicato
Setup semplice Occorre installare o appoggiarsi a un server
Non c'竪 un deposito centrale e di riferimento
(anche se ci si pu嘆 accordare). Tutti hanno
la copia di tutto.
Il server centrare contiene tutte la modifiche.
Il download iniziale potrebbe essere di
grandi dimensioni
23. Glossario
Repository (deposito)
Un insieme di oggetti (file) e i riferimenti necessari.
Pu嘆 essere online o offline
Clone (solo git)
L'atto di duplicare localmente un repository
Commit (lett. 'impegno', ma qui 'consegna')
Invio delle modifiche effettuate al repository
Checkout
Copia o ripristino di una particolare versione del
progetto
24. GIT il funzionamento
GIT identifica tre possibili 'stati' per ogni file del
progetto a cui si sta lavorando
Working Copy
Sono i file a cui state lavorando, che potete
modificare liberamente
Staging Area
I file che avete modificato e che avete intenzione di
committare nel progetto definitivo
Commit
I file modificati
33. Un esempio pi湛 pratico
Vedremo il sistema applicato alla pratica
Non useremo un programma, dato che
funziona per tutti i tipi di file (al meglio con i file
di testo)
Si presume che abbiate gi installato Git (ne
parleremo separatamente)
42. Whew!
Diamo un'occhiata al log per vedere cos'竪 successo.
$油git油log
commit油
bb9c52540ec20eca6bb3aee5713fb24474959b6a
Author:油Marcello油Missiroli油
<prof.missiroli@gmail.com>
Date:油油油Sun油Jan油27油18:09:15油2013油+0100
油油油油Reservations:油start
Indice del commit.
Calcolato in base al nome
dell'autore, alle modiche
e alla data.
Commento
43. E pi湛 in dettaglio...
git diff HEAD
app/views/users/index.html.haml
@@ -3,14 +3,15 @@
-%ul{:class=>"users"}
-@users.each do |user|
+%table{class: "table table-striped"}
+ %tr
+ %th{:class => @name_header}= link_to 'Nome'
50. Branching merging - conflitti
Finora tutte le modifiche confluiscono in un unico
prodotto finale
Pu嘆 essere necessario lavorare su versioni separate
dei file per evitare di sporcare il lavoro degli altri
(o per altri motivi)
E' opportuno creare dei branch (diramazioni) sulle
quali lavorare in piena libert
51. Branching merging - conflitti
Il modo consigliato di lavoro 竪 proprio questo:
1) Branch & Edit
Lavorate su una versione separata del codice
2) Merge
Risincronizzarsi col ramo principale e risolvere
conflitti
3) Commit
Inviare le modifiche al repository centrale
63. GIT Altri Links
Netbeans:
http://www.netbeans.org
GIT:
Repository pubblici online
https://github.com/
https://bitbucket.org/
codeschool:
http://try.github.com/levels/1/challenges/1
The Git Book
http://git-scm.com/book
64. Grazie
Con il contributo di
Anil GuptaAnil Gupta (www.guptaanil.com)
Pete Nicholls (github.com/Aupajo)
Armando Fox
Questo documento 竪 dotato di licenza CreativeCommonQuesto documento 竪 dotato di licenza CreativeCommon
BY-SA 3.0BY-SA 3.0
http://creativecommons.org/licenses/by-sa/3.0/deed.ithttp://creativecommons.org/licenses/by-sa/3.0/deed.it