SlideShare a Scribd company logo
1 of 43
Download to read offline
Git and GitHub

- The beginning -
PhD Student Gemma CatolinoCourse of Software Engineering 2017/2018
SUMMARY
1. SET UP THE ENVIRONMENT

2.GIT E GitHub

3. Git: HOW TO WORK
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
SUMMARY
1. SET UP THE ENVIRONMENT

2.GIT E GitHub

3. Git: HOW TO WORK
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
Course of Software Engineering 2017/2018
LINUX (Debian)
WINDOWS
MAC OS X http://git-scm.com/download/mac
http://git-scm.com/download/win
Command:sudo yum install gitLINUX (Fedora)
Command:sudo apt-get install git
PhD Student Gemma Catolino
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
www.github.com
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
SUMMARY
1. SET UP THE ENVIRONMENT

2.GIT E GitHub

3. Git: HOW TO WORK
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
A SYSTEM THAT KEEPS RECORD OF YOUR CHANGE
VERSION CONTROL
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
ALLOWS DEVELOPERS TO COLLABORATE AND KNOW 

WHO MADE WHAT CHANGES AND WHEN
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
ALLOWS DEVELOPERS TO REVERT ANY CHANGE AND GO
BACK TO A PREVIOUS STATE OF A SYSTEM!!!
ALLOWS DEVELOPERS TO COLLABORATE AND KNOW 

WHO MADE WHAT CHANGES AND WHEN
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
DEVELOPERS CAN KEEP THEIR SOURCE CODE AND ITS HISTORY 

ON THEIR PC, MAKING THEIR CHANGE
ALLOWS DEVELOPERS TO REVERT ANY CHANGE AND GO
BACK TO A PREVIOUS STATE OF A SYSTEM!!!
ALLOWS DEVELOPERS TO COLLABORATE AND KNOW 

WHO MADE WHAT CHANGES AND WHEN
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
DISTRIBUTED VERSION CONTROL SYSTEM
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
OTHER VERSION CONTROL SYSTEMS
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
A WEB-BASED GIT OR VERSION CONTROL REPOSITORYAND
INTERNET HOSTING SERVICE
SOCIAL CODING
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
VERSION CONTROL
BUG TRACKINGPULL REQUEST
SOCIAL CODING
A WEB-BASED GIT OR VERSION CONTROL REPOSITORYAND
INTERNET HOSTING SERVICE
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
SUMMARY
1. SET UP THE ENVIRONMENT

2.GIT E GitHub

3. Git: HOW TO WORK
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
MODIFIED
GIT WORKFLOW
WORKING

DIRECTORY
STAGING

AREA
GIT DIRECTORY

(REPOSITORY)
STAGED COMMITTED
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
GIT WORKFLOW
WORKING

DIRECTORY
The developer changes
one or more files
in her working directory
MODIFIED
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
GIT WORKFLOW
STAGING

AREA
STAGED
The changed files come
into the stage area and
they are ready…
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
GIT WORKFLOW
GIT DIRECTORY

(REPOSITORY)
COMMITTED AND PUSH
to be stored permanently
in the Git Directory!
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
GIT WORKFLOW
WORKING

DIRECTORY
STAGING

AREA
GIT DIRECTORY

(REPOSITORY)
CHANGED FILE
COMMIT FILE
THE DEVELOPER WILL UPDATE HER LOCALVERSION AND MAKE CHANGES AGAIN!
WORKING AREA INDEX HEAD
PULL
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
LET’S TRY IT!!!
CREATE YOUR WORKING AREA - REPOSITORY
Command:git init
Create your repository
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
Command:git init
Create your repository
BASED ON THE TYPE OF THE PROJECT,
AND PROGRAMMING LANGUAGE,
GITHUB ALLOWS TO BUILD
AUTOMATICALLYTHE GITIGNORE DOCUMENT
I SUGGESTYOU TO INITIALIZE YOUR REPOSITORY ON GITHUB!!!
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
CREATE YOUR WORKING AREA - REPOSITORY
Command:git init
VCS AUTOMATICALLY UNDERSTAND THE FILES WHICH SHOULD
NOT BE CHANGED DURING THE VARIOUS CHANGES
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
Create your repository
CREATE YOUR WORKING AREA - REPOSITORY
BASED ON THE TYPE OF THE PROJECT,
AND PROGRAMMING LANGUAGE,
GITHUB ALLOWS TO BUILD
AUTOMATICALLYTHE GITIGNORE DOCUMENT
CHECKOUT REPOSITORIES
Command
git clone /Path/of/repository
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
CHECKOUT REPOSITORIES
Command
git clone /Path/of/repository
GO ON THE PAGE OF YOUR REPOSITORY
AND CLICK ON CLONE AND COPYTHE LINK.
MOVE TO GIT BASH AND DIGIT
git clone “link github”
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
ADD AND VALIDATION OF FILE
ADD
git add <name of file>
git add * (all the file)
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
Check the state of your local repository compared to the GitHub repository
Command
git status
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
ADD AND VALIDATION OF FILE
AGGIUNTA E VALIDAZIONE FILE
ONCE YOU ADDED FILES IN YOUR REPOSITORY,YOU CAN MAKE A COMMITOPERATION
git commit -m “Commit Message”
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
ADD
git add <name of file>
git add * (all the file)
AGGIUNTA E VALIDAZIONE FILE
EVERYTIME YOU MODIFYA FILE,YOU SHOULD MAKE A COMMITOPERATION
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
git commit -m “Commit Message”
ADD
git add <name of file>
git add * (all the file)
INVIO DELLE MODIFICHE
Command:git push origin master
TO MOVE YOUR CHANGES FROM YOUR WORKING AREA INTO THE REMOTE REPOSITORY,
YOU MUST MAKE A PUSHOPERATION!
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
AGGIORNAMENTO, MERGE, SOSTITUZIONE
git pull
Update the local repository to the latest version
Command
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
AGGIORNAMENTO, MERGE, SOSTITUZIONE
git pull
Update the local repository to the latest version
git fetch origin
git checkout -- <namefile>
Recover changes from the remote repository on your local version
Command
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
AGGIORNAMENTO, MERGE, SOSTITUZIONE
git merge
Incorporate changes between the remote server version and your local version,
it is not an automated procedure!
Command
git pull
Aggiornare il repository locale al commit più recente
git fetch origin
git checkout -- <namefile>
Recover changes from the remote repository on your local version
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
BRANCH
USED TO DEVELOP FEATURES THATARE INDEPENDENT FROM EACH OTHER .
BY DEFAULT,THE MASTER BRANCH IS THE FIRST ONE THAT IS CREATED.
Command
git brach new_branch_name
Create a new branch
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
BRANCH
git brach new_branch_name
Create a new branch
git checkout other_branch_name
To switch from one brach to another
Command
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
USED TO DEVELOP FEATURES THATARE INDEPENDENT FROM EACH OTHER .
BY DEFAULT,THE MASTER BRANCH IS THE FIRST ONE THAT IS CREATED.
BRANCH
git brach new_branch_name
Create a new branch
git checkout other_branch_name
To switch from one brach to another
git branch -d branch_name
Delete a branch
Command
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
THE BRANCH IS USED TO DEVELOP FEATURE THATARE ISOLATED FROM EACH OTHER
BRANCH
git brach new_branch_name
Create a new branch
git checkout other_branch_name
To switch from one brach to another
git branch -d branch_name
Delete a branch
Command
TO INCORPORATE YOUR BRANCH INTO THE BRANCH MASTER
YOU SHOULD USE THE MERGE OPERATION
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
FOR IDE
DOWNLAOD ECLIPSE GITTEAM PROVIDER
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
MORE INFO
http://rogerdudler.github.io/git-guide/index.it.html
https://www.slideshare.net/HubSpot/git-101-git-and-github-for-beginners
https://www.slideshare.net/akrish/introduction-to-gitgithub-a-beginners-guide
https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
Git and GitHub

- The beginning -
gcatolino@unisa.it
Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
www.gemmacatolino.com

More Related Content

What's hot

Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierChristoph Matthies
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golangBo-Yi Wu
 
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Conference
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca Milanesio
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with DroneBo-Yi Wu
 
Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23msohn
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitE Carter
 
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaA painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaBo-Yi Wu
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
Docker introduction in Hardware Company
Docker introduction in Hardware CompanyDocker introduction in Hardware Company
Docker introduction in Hardware CompanyEvan Lin
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitRick Umali
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)John Anderson
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction TutorialThomas Rausch
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyLuca Milanesio
 

What's hot (20)

Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
Git
GitGit
Git
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
 
Git and git hub
Git and git hubGit and git hub
Git and git hub
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with Drone
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaA painless self-hosted Git service: Gitea
A painless self-hosted Git service: Gitea
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Docker introduction in Hardware Company
Docker introduction in Hardware CompanyDocker introduction in Hardware Company
Docker introduction in Hardware Company
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git basics for beginners
Git basics for beginnersGit basics for beginners
Git basics for beginners
 
Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and Groovy
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 

Similar to Git and GitHub - The beginning

Improving your workflow with git
Improving your workflow with gitImproving your workflow with git
Improving your workflow with gitDídac Ríos
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and GithubWycliff1
 
Using Github for DSpace development
Using Github for DSpace developmentUsing Github for DSpace development
Using Github for DSpace developmentBram Luyten
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenchesNuno Caneco
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_finalMythri P K
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopAnis Ahmad
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践Terry Wang
 
Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践Terry Wang
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Lemi Orhan Ergin
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Lemi Orhan Ergin
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Lemi Orhan Ergin
 

Similar to Git and GitHub - The beginning (20)

Improving your workflow with git
Improving your workflow with gitImproving your workflow with git
Improving your workflow with git
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
GDSC GIT AND GITHUB
GDSC GIT AND GITHUB GDSC GIT AND GITHUB
GDSC GIT AND GITHUB
 
Git
GitGit
Git
 
Using Github for DSpace development
Using Github for DSpace developmentUsing Github for DSpace development
Using Github for DSpace development
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
 
GIT from n00b
GIT from n00bGIT from n00b
GIT from n00b
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT Workshop
 
Git
GitGit
Git
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践
 
Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
 
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
Gittalk
GittalkGittalk
Gittalk
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017
 
What the Git? - WordCamp Atlanta
What the Git? - WordCamp AtlantaWhat the Git? - WordCamp Atlanta
What the Git? - WordCamp Atlanta
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
 

More from Gemma Catolino

Ensemble Techniques for Software Change Prediction: A Preliminary Investigation
Ensemble Techniques for Software Change Prediction: A Preliminary InvestigationEnsemble Techniques for Software Change Prediction: A Preliminary Investigation
Ensemble Techniques for Software Change Prediction: A Preliminary InvestigationGemma Catolino
 
Git e GitHub - L'essenziale
Git e GitHub - L'essenziale Git e GitHub - L'essenziale
Git e GitHub - L'essenziale Gemma Catolino
 
A Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsA Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsGemma Catolino
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Gemma Catolino
 
Developer-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentDeveloper-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentGemma Catolino
 
Metrics for Effort/Cost Estimation of Mobile apps development
Metrics for Effort/Cost Estimation of Mobile apps developmentMetrics for Effort/Cost Estimation of Mobile apps development
Metrics for Effort/Cost Estimation of Mobile apps developmentGemma Catolino
 
Analisi posizionamento punto ristorazione Salerno
Analisi posizionamento punto ristorazione SalernoAnalisi posizionamento punto ristorazione Salerno
Analisi posizionamento punto ristorazione SalernoGemma Catolino
 
CE.RE.S: An Eclipse plug-in to evaluate source code readability
CE.RE.S: An Eclipse plug-in to evaluate source code readabilityCE.RE.S: An Eclipse plug-in to evaluate source code readability
CE.RE.S: An Eclipse plug-in to evaluate source code readabilityGemma Catolino
 

More from Gemma Catolino (12)

Ensemble Techniques for Software Change Prediction: A Preliminary Investigation
Ensemble Techniques for Software Change Prediction: A Preliminary InvestigationEnsemble Techniques for Software Change Prediction: A Preliminary Investigation
Ensemble Techniques for Software Change Prediction: A Preliminary Investigation
 
Git e GitHub - L'essenziale
Git e GitHub - L'essenziale Git e GitHub - L'essenziale
Git e GitHub - L'essenziale
 
A Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsA Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile Apps
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
 
Developer-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentDeveloper-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical Assessment
 
Metrics for Effort/Cost Estimation of Mobile apps development
Metrics for Effort/Cost Estimation of Mobile apps developmentMetrics for Effort/Cost Estimation of Mobile apps development
Metrics for Effort/Cost Estimation of Mobile apps development
 
#PetaloRosaDay
#PetaloRosaDay#PetaloRosaDay
#PetaloRosaDay
 
Post mortem Review
Post mortem ReviewPost mortem Review
Post mortem Review
 
Analisi posizionamento punto ristorazione Salerno
Analisi posizionamento punto ristorazione SalernoAnalisi posizionamento punto ristorazione Salerno
Analisi posizionamento punto ristorazione Salerno
 
GoBus - App challenge
GoBus - App challengeGoBus - App challenge
GoBus - App challenge
 
Presentation SCORE-IT
Presentation   SCORE-ITPresentation   SCORE-IT
Presentation SCORE-IT
 
CE.RE.S: An Eclipse plug-in to evaluate source code readability
CE.RE.S: An Eclipse plug-in to evaluate source code readabilityCE.RE.S: An Eclipse plug-in to evaluate source code readability
CE.RE.S: An Eclipse plug-in to evaluate source code readability
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Git and GitHub - The beginning

  • 1. Git and GitHub - The beginning - PhD Student Gemma CatolinoCourse of Software Engineering 2017/2018
  • 2. SUMMARY 1. SET UP THE ENVIRONMENT 2.GIT E GitHub 3. Git: HOW TO WORK Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 3. SUMMARY 1. SET UP THE ENVIRONMENT 2.GIT E GitHub 3. Git: HOW TO WORK Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 4. Course of Software Engineering 2017/2018 LINUX (Debian) WINDOWS MAC OS X http://git-scm.com/download/mac http://git-scm.com/download/win Command:sudo yum install gitLINUX (Fedora) Command:sudo apt-get install git PhD Student Gemma Catolino
  • 5. Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 6. www.github.com Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 7. SUMMARY 1. SET UP THE ENVIRONMENT 2.GIT E GitHub 3. Git: HOW TO WORK Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 8. VERSION CONTROL Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 9. A SYSTEM THAT KEEPS RECORD OF YOUR CHANGE VERSION CONTROL Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 10. VERSION CONTROL ALLOWS DEVELOPERS TO COLLABORATE AND KNOW WHO MADE WHAT CHANGES AND WHEN Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 11. VERSION CONTROL ALLOWS DEVELOPERS TO REVERT ANY CHANGE AND GO BACK TO A PREVIOUS STATE OF A SYSTEM!!! ALLOWS DEVELOPERS TO COLLABORATE AND KNOW WHO MADE WHAT CHANGES AND WHEN Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 12. VERSION CONTROL DEVELOPERS CAN KEEP THEIR SOURCE CODE AND ITS HISTORY ON THEIR PC, MAKING THEIR CHANGE ALLOWS DEVELOPERS TO REVERT ANY CHANGE AND GO BACK TO A PREVIOUS STATE OF A SYSTEM!!! ALLOWS DEVELOPERS TO COLLABORATE AND KNOW WHO MADE WHAT CHANGES AND WHEN Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 13. VERSION CONTROL DISTRIBUTED VERSION CONTROL SYSTEM Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 14. VERSION CONTROL OTHER VERSION CONTROL SYSTEMS Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 15. VERSION CONTROL A WEB-BASED GIT OR VERSION CONTROL REPOSITORYAND INTERNET HOSTING SERVICE SOCIAL CODING Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 16. VERSION CONTROL BUG TRACKINGPULL REQUEST SOCIAL CODING A WEB-BASED GIT OR VERSION CONTROL REPOSITORYAND INTERNET HOSTING SERVICE Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 17. SUMMARY 1. SET UP THE ENVIRONMENT 2.GIT E GitHub 3. Git: HOW TO WORK Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 18. MODIFIED GIT WORKFLOW WORKING DIRECTORY STAGING AREA GIT DIRECTORY (REPOSITORY) STAGED COMMITTED Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 19. GIT WORKFLOW WORKING DIRECTORY The developer changes one or more files in her working directory MODIFIED Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 20. GIT WORKFLOW STAGING AREA STAGED The changed files come into the stage area and they are ready… Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 21. GIT WORKFLOW GIT DIRECTORY (REPOSITORY) COMMITTED AND PUSH to be stored permanently in the Git Directory! Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 22. GIT WORKFLOW WORKING DIRECTORY STAGING AREA GIT DIRECTORY (REPOSITORY) CHANGED FILE COMMIT FILE THE DEVELOPER WILL UPDATE HER LOCALVERSION AND MAKE CHANGES AGAIN! WORKING AREA INDEX HEAD PULL Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 24. CREATE YOUR WORKING AREA - REPOSITORY Command:git init Create your repository Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 25. Command:git init Create your repository BASED ON THE TYPE OF THE PROJECT, AND PROGRAMMING LANGUAGE, GITHUB ALLOWS TO BUILD AUTOMATICALLYTHE GITIGNORE DOCUMENT I SUGGESTYOU TO INITIALIZE YOUR REPOSITORY ON GITHUB!!! Course of Software Engineering 2017/2018 PhD Student Gemma Catolino CREATE YOUR WORKING AREA - REPOSITORY
  • 26. Command:git init VCS AUTOMATICALLY UNDERSTAND THE FILES WHICH SHOULD NOT BE CHANGED DURING THE VARIOUS CHANGES Course of Software Engineering 2017/2018 PhD Student Gemma Catolino Create your repository CREATE YOUR WORKING AREA - REPOSITORY BASED ON THE TYPE OF THE PROJECT, AND PROGRAMMING LANGUAGE, GITHUB ALLOWS TO BUILD AUTOMATICALLYTHE GITIGNORE DOCUMENT
  • 27. CHECKOUT REPOSITORIES Command git clone /Path/of/repository Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 28. CHECKOUT REPOSITORIES Command git clone /Path/of/repository GO ON THE PAGE OF YOUR REPOSITORY AND CLICK ON CLONE AND COPYTHE LINK. MOVE TO GIT BASH AND DIGIT git clone “link github” Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 29. ADD AND VALIDATION OF FILE ADD git add <name of file> git add * (all the file) Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 30. Check the state of your local repository compared to the GitHub repository Command git status Course of Software Engineering 2017/2018 PhD Student Gemma Catolino ADD AND VALIDATION OF FILE
  • 31. AGGIUNTA E VALIDAZIONE FILE ONCE YOU ADDED FILES IN YOUR REPOSITORY,YOU CAN MAKE A COMMITOPERATION git commit -m “Commit Message” Course of Software Engineering 2017/2018 PhD Student Gemma Catolino ADD git add <name of file> git add * (all the file)
  • 32. AGGIUNTA E VALIDAZIONE FILE EVERYTIME YOU MODIFYA FILE,YOU SHOULD MAKE A COMMITOPERATION Course of Software Engineering 2017/2018 PhD Student Gemma Catolino git commit -m “Commit Message” ADD git add <name of file> git add * (all the file)
  • 33. INVIO DELLE MODIFICHE Command:git push origin master TO MOVE YOUR CHANGES FROM YOUR WORKING AREA INTO THE REMOTE REPOSITORY, YOU MUST MAKE A PUSHOPERATION! Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 34. AGGIORNAMENTO, MERGE, SOSTITUZIONE git pull Update the local repository to the latest version Command Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 35. AGGIORNAMENTO, MERGE, SOSTITUZIONE git pull Update the local repository to the latest version git fetch origin git checkout -- <namefile> Recover changes from the remote repository on your local version Command Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 36. AGGIORNAMENTO, MERGE, SOSTITUZIONE git merge Incorporate changes between the remote server version and your local version, it is not an automated procedure! Command git pull Aggiornare il repository locale al commit più recente git fetch origin git checkout -- <namefile> Recover changes from the remote repository on your local version Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 37. BRANCH USED TO DEVELOP FEATURES THATARE INDEPENDENT FROM EACH OTHER . BY DEFAULT,THE MASTER BRANCH IS THE FIRST ONE THAT IS CREATED. Command git brach new_branch_name Create a new branch Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 38. BRANCH git brach new_branch_name Create a new branch git checkout other_branch_name To switch from one brach to another Command Course of Software Engineering 2017/2018 PhD Student Gemma Catolino USED TO DEVELOP FEATURES THATARE INDEPENDENT FROM EACH OTHER . BY DEFAULT,THE MASTER BRANCH IS THE FIRST ONE THAT IS CREATED.
  • 39. BRANCH git brach new_branch_name Create a new branch git checkout other_branch_name To switch from one brach to another git branch -d branch_name Delete a branch Command Course of Software Engineering 2017/2018 PhD Student Gemma Catolino THE BRANCH IS USED TO DEVELOP FEATURE THATARE ISOLATED FROM EACH OTHER
  • 40. BRANCH git brach new_branch_name Create a new branch git checkout other_branch_name To switch from one brach to another git branch -d branch_name Delete a branch Command TO INCORPORATE YOUR BRANCH INTO THE BRANCH MASTER YOU SHOULD USE THE MERGE OPERATION Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 41. FOR IDE DOWNLAOD ECLIPSE GITTEAM PROVIDER Course of Software Engineering 2017/2018 PhD Student Gemma Catolino
  • 43. Git and GitHub - The beginning - gcatolino@unisa.it Course of Software Engineering 2017/2018 PhD Student Gemma Catolino www.gemmacatolino.com