SlideShare a Scribd company logo
1 of 9
Download to read offline
Taj Nehme


	
Technology Lead


	


	
September 16, 2020


Git Technology
The Software Development Lifecycle is an essential role in any technology company and
encompasses pretty much everything that has to do with a systematic work
fl
ow for
designing, developing, and delivering software applications. End to end. SLDC describes a
series of stages in which a software reaches its desired outcome.

Version control repositories is one of the most essential key player in SLDC and the proof
lies in GitHub’s and GitLab’s position as their number 1 DevOps tools that play a role in
software delivery.

Version control systems are essentially software management components that handle and
track changes made to software, programs, and code bases. When you have several
programmers working at once on one software project, a version control system ensures
there are no code overlaps or con
fl
ict. It enables the enhancement of code and the
harmonious growth of complexity without having too much side e
ff
ects.
Changes in requirements which we see along all business development life cycles require
modi
fi
cation in code bases to accommodate them. Any software development project that
involves technical and business requirements, while bringing together a collaborative team,
absolutely requires a version control system.

The key bene
fi
ts of using Git repositories are:

1. Streamlining the development process

2. Management of code for multiple projects at once 

3. Upkeep of a clean history for code changes

With version control, all changes are kept and tracked in a repository, which enables us to
revert back to di
ff
erent code at di
ff
erent points in time. Hence if a mistake was done or we
broke something in the code, we can just revert back and undo mistakes instantaneously. 

It greatly reduces any human error and also integrates easily with software development
tools such as IDEs and build automation tools.

Build automation tools are tools that build your app on the spot and pushes it to whoever
you specify, whether testers or stakeholders. 

“To sum up, version
control systems are
essential to the
success of highly
collaborative software
development
work
fl
ows and there is
virtually no scenario in
any modern SDLC
setting where it is
bene
fi
cial to skip their
use. ”
Github and Gitlab are both web-based Git repositories. Now Git is a version control system,
the most common and basic one. If you’re not using Git then Git the F out of here. Let me
tell you why, it is the standard solution and most commonly used version control system
today, worldwide. 

With its distributed version control system nature, it tracks code changes throughout the
SDLC and allows several projects and features to be developed in parallel without a
ff
ecting
the main app development on the master branch. Designed and developed by the same
guy who brought us Linux, Mr. Linus Toryalds, it is now a full-
fl
edged repository that is
mature, open source, and free.

Key properties of Git involve:

• Toolkit-based design

• Distributed development

• Support for non-linear development (as mentioned above several feature
development in parallel)

• E
ffi
ciency for handling large projects

Now that we know a little bit more about Git and version control repository management
services, let’s explore GitHub and GitLab.

GitHub vs GitLab? What to do next?
GitHub is a code hosting platform or development platform that developers use to store
projects and codebases. GitHub is mainly used for code due to its built-in tools to review
and improve it. 

“GitHub and GitLab are
the #1 go to tools ”
GitHub is open source and a free service that provides remote access to code repositories.
It helps manage the software development lifecycle. Additionally, it includes features such
as code sharing among multiple people, bug tracking, wiki space, and other tools for what
is called social coding.	 	 	 	 	 	 	 	 	 	 

GitLab on the other hand, which I am coming to believe is the underrated Git service
version management tool and is a bit more powerful if used correctly, is a GitHub-like
service that provides web-based DevOps internal management of Git repositories.	 	
	 	 	 	 	 	 	 	 	 	 	 	
GitLab o
ff
ers two options: 	 	 	 	 	 	 	 	 	 	
	 1- a free community edition 

	 2- a paid enterprise edition

GitLab includes a lot of the necessary features for successful management of the software
development process such as:

	 1- Wikis, 

	 2- Jira integration

	 3- Continuous Integration runner that can be programmed to automatically test and 	
	 build you code binaries (or programs)

	 4- Release management, binary attachments, and more. That will allow us to release
	 to predetermined paths wether they be the app or play store, or local servers or 

	 con
fi
gured test
fl
ights for internal test users.

GitLab’s popularity is due partly to its seamless integration with Continuous Integration
technologies. CI means quicker iterations, quicker tests, quicker deployment, quicker
auditing.

If you are worried that your code is too precious to be on the cloud, then look at the beauty
here:
GitLab o
ff
er Self managed on premises installations. We can literally install Gitlab on servers
and give access to the developers to coordinate and code and do their CI pipelines on the
instance running on our server.

“With over 100,000
organizations and users
leveraging GitLab, it
became the 4th fastest
growing private software
company in 2018."
Here are some of the key similarities between GitHub and GitLab:
• Tracking. Both GitLab and GitHub o
ff
er fantastic issue tracking capabilities that
enable status changes and the ability to assign owners to each issue. Additionally,
bug reports can be sent instantly to both GitLab and GitHub.

• Issues. Both GitLab and GitHub are capable of quickly setting up the status,
assignees, or milestones for multiple issues at a time to easily
fi
lter them based on
any type of property.

• Integrations. Both GitLab and GitHub have a wide array of 3rd party integrations
available to strengthen work
fl
ows and boost productivity. GitHub has a marketplace
of 3rd party integrations for specialized tools and applications. GitLab o
ff
ers
numerous integrations for development and DevOps teams.

• Support community. While GitHub’s support community is considered slightly
bigger, both solutions o
ff
er a strong community of developers who contribute to the
update and upkeep of GitLab and GitHub.

• Labels. Both GitLab and GitHub provide easy inclusion of labels to provide a simple
method of categorizing issues, merge requests, or epics based on descriptive titles
such as “bug” or “documentation” which are very helpful for tracking.

• Description templates. Developers can add a description template to issues or
merge requests in both GitLab and GitHub by selecting a template for e
ff
ective
communication.

• Enterprise solutions. GitLab and GitHub o
ff
er enterprise-level capabilities for
development teams and organizations. While GitLab is better positioned in the
enterprise environment, both solutions fare well in enterprise settings.

• Wiki-based project documentation. Both GitLab and GitHub keep a separate
system for documentation that is called Wiki and is built right into each project as a
separate Git repository.

• Edits. Both platforms allow upstream maintainers to collaborate on a source branch
and edit into a fork. This way, maintainers can make small
fi
xes or rebase branches
before merging, which reduces iterations of community contributions.
• Merge approvals. Both platforms enable developers to ensure merge requests are
approved by one or more people. These approvals allow the development team to
pre-de
fi
ne the list of approvers for every merge request in a project to improve
coding quality.

• Revert commits. GitHub and GitLab are capable of reverting commits or a single
merge request via each platform’s UI.

Other key features that are shared between GitHub and GitLab include pull request, fork/
clone repositories, code review, and markdown.

Here are some of the key di
ff
erences between GitHub vs GitLab:
• Built-in Continuous Integration/Delivery. GitLab is known for its built-in
Continuous Integration/Delivery for free, which is something that GitHub does not
o
ff
er. Instead, GitHub’s o
ff
ering lies in 3rd party integrations that enable Continuous
Integration/Delivery.

• Inner-sourcing. With GitLab, internal projects allow developers to promote inner
sourcing of internal repositories - this is something that is not o
ff
ered by GitHub.

• Authentication. In GitLab, permission is granted based on people’s roles while in
GitHub developers can grant read or write access to speci
fi
c repositories.

• Data import/export. GitLab o
ff
ers far more detailed documentation on how to
import/export data from external vendors while GitHub’s documentation is not as
detailed. GitLab is capable of importing projects and issues from more sources than
GitHub can. With that being said, GitHub does o
ff
er a tool called the GitHub
Importer to bring in data. With regard to exporting, GitLab o
ff
ers a comprehensive
solution to export wikis, project repositories, project uploads, webhooks and
services, and issues. On the other hand, GitHub is slightly more restrictive in terms
of export features.

• Deployment platform. GitHub does not come with a built-in deployment platform
and requires a 3rd party integration with an external application to deploy
applications. On the other hand, GitLab leverages Kubernetes for a seamless
deployment experience.

• Comment tracking. GitHub is capable of providing the full history of a thread of
comment updates - GitLab does not support this.

• Issue transport. In GitLab, developers can easily move issues between projects -
all links, history, and comments are copied to be referenced in the original issue and
the newly moved issue.

• CSV
fi
le export. GitLab is capable of exporting CSV
fi
les of issues to default
noti
fi
cation email addresses as attachments.

• Con
fi
dential issues. GitLab’s Con
fi
dential Issues module creates con
fi
dential
issues that are visible only to project members with Reporter access level or above.

• Issue weights and milestones. In GitLab, developers can assign weight to issues
to manage them via Agile practices, which is not something that can be currently
done by using GitHub. Additionally, GitLab, unlike GitHub, allows developers to
create and manage milestones at project and group levels to represent an Agile
sprint or a release. (It proves to have some project management features)

• Burndown charts. Unlike GitHub, GitLab o
ff
ers Burndown Charts as part of
milestones that allow developers to track progress during sprints or while working
on new software versions.

• Application performance monitoring. GitLab collects and displays performance
metrics for applications to determine the impact of a merge and monitor production
systems.

• Cycle analytics. GitLab provides a dashboard to perform analytics about time,
planning and monitoring activities.

• Monthly new features. GitLab is known for its monthly updates of new features
and improvements that are made religiously on the 22nd of each month.

• Bare metal servers. GitLab can run on bare metal servers for full control of disk I/O,
CPU, RAM, and more for easy horizontal scaling.
Besides the ones we just pointed out, the main di
ff
erence between GitHub and GitLab rests
in the philosophy each platform presents. GitHub is more focused on high availability and
infrastructure performance while GitLab is more focused on including as many features in a
robust and well-integrated platform for a complete and centralized DevOps process.

CONCLUSION
In highly competitive environment and with the speed of advancing technology, staying
ahead is vital for your business. Being #1 and staying there will need a lot of work, or else
someone else with the right Tech will come and beat you to it. Hence it is utterly vital that
the step for the success is to easily manage changes within the SDLC while fostering a
collaborative and full-on environment that is able to come up with idea, implement, and
deploy on the spot. As well as revert or rollback the ideas that prove to be a failure or loss
to the business with utter speed, hence being in control of risk aversion and mitigation for
the business.


More Related Content

What's hot

CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOpsAhmad Iqbal Ali
 
Code Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service DevelopmentCode Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service DevelopmentRachel Maxwell
 
Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Jozef Slezak
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCaseCollabNet
 
Data science Git management
Data science Git managementData science Git management
Data science Git managementArindam Banerjee
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeCollabNet
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Andreas Jakl
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLGerger
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - EnglishCollabNet
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionYoni Davidson
 
Making Juice With GitHub
Making Juice With GitHubMaking Juice With GitHub
Making Juice With GitHubMis Tribus
 
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfData Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfHemaVeeradhi1
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishCollabNet
 
lfpub_cp_cost_estimate2015 (1)
lfpub_cp_cost_estimate2015 (1)lfpub_cp_cost_estimate2015 (1)
lfpub_cp_cost_estimate2015 (1)Amanda McPherson
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...Schlomo Schapiro
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGerger
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndreas Jakl
 

What's hot (20)

CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 Webinar
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOps
 
Code Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service DevelopmentCode Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service Development
 
Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10Iteria lowcode 2022-01-10
Iteria lowcode 2022-01-10
 
Migrating from ClearCase
Migrating from ClearCaseMigrating from ClearCase
Migrating from ClearCase
 
GitHub
GitHubGitHub
GitHub
 
Data science Git management
Data science Git managementData science Git management
Data science Git management
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
 
Making Juice With GitHub
Making Juice With GitHubMaking Juice With GitHub
Making Juice With GitHub
 
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdfData Science Meets DevOps: GitOps with OpenShift (1).pdf
Data Science Meets DevOps: GitOps with OpenShift (1).pdf
 
Agile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - EnglishAgile Upstream and Downstream Webinar - English
Agile Upstream and Downstream Webinar - English
 
lfpub_cp_cost_estimate2015 (1)
lfpub_cp_cost_estimate2015 (1)lfpub_cp_cost_estimate2015 (1)
lfpub_cp_cost_estimate2015 (1)
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
 

Similar to Git tech

GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GrapesTech Solutions
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucketjeetendra mandal
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil AliAmilAli1
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github ActionsKnoldus Inc.
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github ActionsKnoldus Inc.
 
Buy GitHub Accounts.pdf
Buy GitHub Accounts.pdfBuy GitHub Accounts.pdf
Buy GitHub Accounts.pdfDenise Stewart
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHubDSCVSSUT
 
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketAcodez IT Solutions
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubJasleenSondhi
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptxAnkurVerma95745
 
A crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubA crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubJerome Mberia
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems Pvt. Ltd
 
GitPro Whitepaper
GitPro WhitepaperGitPro Whitepaper
GitPro WhitepaperERP Buddies
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHubTom Mens
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your ProjectManish Suwal 'Enwil'
 

Similar to Git tech (20)

GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?GitHub Vs GitLab | What Are The Major Difference?
GitHub Vs GitLab | What Are The Major Difference?
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
What is github.
What is github.What is github.
What is github.
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Buy GitHub Accounts.pdf
Buy GitHub Accounts.pdfBuy GitHub Accounts.pdf
Buy GitHub Accounts.pdf
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 
Difference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucketDifference between gitlab vs github vs bitbucket
Difference between gitlab vs github vs bitbucket
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptx
 
A crash course on git as version control system and GitHub
A crash course on git as version control system and GitHubA crash course on git as version control system and GitHub
A crash course on git as version control system and GitHub
 
GITHUB
GITHUBGITHUB
GITHUB
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020
 
GitPro Whitepaper
GitPro WhitepaperGitPro Whitepaper
GitPro Whitepaper
 
GitHub.docx
GitHub.docxGitHub.docx
GitHub.docx
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your Project
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Git tech

  • 1. Taj Nehme Technology Lead September 16, 2020 Git Technology The Software Development Lifecycle is an essential role in any technology company and encompasses pretty much everything that has to do with a systematic work fl ow for designing, developing, and delivering software applications. End to end. SLDC describes a series of stages in which a software reaches its desired outcome. Version control repositories is one of the most essential key player in SLDC and the proof lies in GitHub’s and GitLab’s position as their number 1 DevOps tools that play a role in software delivery. Version control systems are essentially software management components that handle and track changes made to software, programs, and code bases. When you have several programmers working at once on one software project, a version control system ensures there are no code overlaps or con fl ict. It enables the enhancement of code and the harmonious growth of complexity without having too much side e ff ects.
  • 2. Changes in requirements which we see along all business development life cycles require modi fi cation in code bases to accommodate them. Any software development project that involves technical and business requirements, while bringing together a collaborative team, absolutely requires a version control system. The key bene fi ts of using Git repositories are: 1. Streamlining the development process 2. Management of code for multiple projects at once 3. Upkeep of a clean history for code changes With version control, all changes are kept and tracked in a repository, which enables us to revert back to di ff erent code at di ff erent points in time. Hence if a mistake was done or we broke something in the code, we can just revert back and undo mistakes instantaneously. It greatly reduces any human error and also integrates easily with software development tools such as IDEs and build automation tools. Build automation tools are tools that build your app on the spot and pushes it to whoever you specify, whether testers or stakeholders. “To sum up, version control systems are essential to the success of highly collaborative software development work fl ows and there is virtually no scenario in any modern SDLC setting where it is bene fi cial to skip their use. ”
  • 3. Github and Gitlab are both web-based Git repositories. Now Git is a version control system, the most common and basic one. If you’re not using Git then Git the F out of here. Let me tell you why, it is the standard solution and most commonly used version control system today, worldwide. With its distributed version control system nature, it tracks code changes throughout the SDLC and allows several projects and features to be developed in parallel without a ff ecting the main app development on the master branch. Designed and developed by the same guy who brought us Linux, Mr. Linus Toryalds, it is now a full- fl edged repository that is mature, open source, and free. Key properties of Git involve: • Toolkit-based design • Distributed development • Support for non-linear development (as mentioned above several feature development in parallel) • E ffi ciency for handling large projects Now that we know a little bit more about Git and version control repository management services, let’s explore GitHub and GitLab. GitHub vs GitLab? What to do next? GitHub is a code hosting platform or development platform that developers use to store projects and codebases. GitHub is mainly used for code due to its built-in tools to review and improve it. “GitHub and GitLab are the #1 go to tools ”
  • 4. GitHub is open source and a free service that provides remote access to code repositories. It helps manage the software development lifecycle. Additionally, it includes features such as code sharing among multiple people, bug tracking, wiki space, and other tools for what is called social coding. GitLab on the other hand, which I am coming to believe is the underrated Git service version management tool and is a bit more powerful if used correctly, is a GitHub-like service that provides web-based DevOps internal management of Git repositories. GitLab o ff ers two options: 1- a free community edition 
 2- a paid enterprise edition
 GitLab includes a lot of the necessary features for successful management of the software development process such as:
 1- Wikis, 
 2- Jira integration
 3- Continuous Integration runner that can be programmed to automatically test and build you code binaries (or programs)
 4- Release management, binary attachments, and more. That will allow us to release to predetermined paths wether they be the app or play store, or local servers or 
 con fi gured test fl ights for internal test users. GitLab’s popularity is due partly to its seamless integration with Continuous Integration technologies. CI means quicker iterations, quicker tests, quicker deployment, quicker auditing.
 If you are worried that your code is too precious to be on the cloud, then look at the beauty here:
  • 5. GitLab o ff er Self managed on premises installations. We can literally install Gitlab on servers and give access to the developers to coordinate and code and do their CI pipelines on the instance running on our server. “With over 100,000 organizations and users leveraging GitLab, it became the 4th fastest growing private software company in 2018."
  • 6. Here are some of the key similarities between GitHub and GitLab: • Tracking. Both GitLab and GitHub o ff er fantastic issue tracking capabilities that enable status changes and the ability to assign owners to each issue. Additionally, bug reports can be sent instantly to both GitLab and GitHub. • Issues. Both GitLab and GitHub are capable of quickly setting up the status, assignees, or milestones for multiple issues at a time to easily fi lter them based on any type of property. • Integrations. Both GitLab and GitHub have a wide array of 3rd party integrations available to strengthen work fl ows and boost productivity. GitHub has a marketplace of 3rd party integrations for specialized tools and applications. GitLab o ff ers numerous integrations for development and DevOps teams. • Support community. While GitHub’s support community is considered slightly bigger, both solutions o ff er a strong community of developers who contribute to the update and upkeep of GitLab and GitHub. • Labels. Both GitLab and GitHub provide easy inclusion of labels to provide a simple method of categorizing issues, merge requests, or epics based on descriptive titles such as “bug” or “documentation” which are very helpful for tracking. • Description templates. Developers can add a description template to issues or merge requests in both GitLab and GitHub by selecting a template for e ff ective communication. • Enterprise solutions. GitLab and GitHub o ff er enterprise-level capabilities for development teams and organizations. While GitLab is better positioned in the enterprise environment, both solutions fare well in enterprise settings. • Wiki-based project documentation. Both GitLab and GitHub keep a separate system for documentation that is called Wiki and is built right into each project as a separate Git repository. • Edits. Both platforms allow upstream maintainers to collaborate on a source branch and edit into a fork. This way, maintainers can make small fi xes or rebase branches before merging, which reduces iterations of community contributions.
  • 7. • Merge approvals. Both platforms enable developers to ensure merge requests are approved by one or more people. These approvals allow the development team to pre-de fi ne the list of approvers for every merge request in a project to improve coding quality. • Revert commits. GitHub and GitLab are capable of reverting commits or a single merge request via each platform’s UI. Other key features that are shared between GitHub and GitLab include pull request, fork/ clone repositories, code review, and markdown. Here are some of the key di ff erences between GitHub vs GitLab: • Built-in Continuous Integration/Delivery. GitLab is known for its built-in Continuous Integration/Delivery for free, which is something that GitHub does not o ff er. Instead, GitHub’s o ff ering lies in 3rd party integrations that enable Continuous Integration/Delivery. • Inner-sourcing. With GitLab, internal projects allow developers to promote inner sourcing of internal repositories - this is something that is not o ff ered by GitHub. • Authentication. In GitLab, permission is granted based on people’s roles while in GitHub developers can grant read or write access to speci fi c repositories. • Data import/export. GitLab o ff ers far more detailed documentation on how to import/export data from external vendors while GitHub’s documentation is not as detailed. GitLab is capable of importing projects and issues from more sources than GitHub can. With that being said, GitHub does o ff er a tool called the GitHub Importer to bring in data. With regard to exporting, GitLab o ff ers a comprehensive solution to export wikis, project repositories, project uploads, webhooks and services, and issues. On the other hand, GitHub is slightly more restrictive in terms of export features. • Deployment platform. GitHub does not come with a built-in deployment platform and requires a 3rd party integration with an external application to deploy
  • 8. applications. On the other hand, GitLab leverages Kubernetes for a seamless deployment experience. • Comment tracking. GitHub is capable of providing the full history of a thread of comment updates - GitLab does not support this. • Issue transport. In GitLab, developers can easily move issues between projects - all links, history, and comments are copied to be referenced in the original issue and the newly moved issue. • CSV fi le export. GitLab is capable of exporting CSV fi les of issues to default noti fi cation email addresses as attachments. • Con fi dential issues. GitLab’s Con fi dential Issues module creates con fi dential issues that are visible only to project members with Reporter access level or above. • Issue weights and milestones. In GitLab, developers can assign weight to issues to manage them via Agile practices, which is not something that can be currently done by using GitHub. Additionally, GitLab, unlike GitHub, allows developers to create and manage milestones at project and group levels to represent an Agile sprint or a release. (It proves to have some project management features) • Burndown charts. Unlike GitHub, GitLab o ff ers Burndown Charts as part of milestones that allow developers to track progress during sprints or while working on new software versions. • Application performance monitoring. GitLab collects and displays performance metrics for applications to determine the impact of a merge and monitor production systems. • Cycle analytics. GitLab provides a dashboard to perform analytics about time, planning and monitoring activities. • Monthly new features. GitLab is known for its monthly updates of new features and improvements that are made religiously on the 22nd of each month. • Bare metal servers. GitLab can run on bare metal servers for full control of disk I/O, CPU, RAM, and more for easy horizontal scaling.
  • 9. Besides the ones we just pointed out, the main di ff erence between GitHub and GitLab rests in the philosophy each platform presents. GitHub is more focused on high availability and infrastructure performance while GitLab is more focused on including as many features in a robust and well-integrated platform for a complete and centralized DevOps process. CONCLUSION In highly competitive environment and with the speed of advancing technology, staying ahead is vital for your business. Being #1 and staying there will need a lot of work, or else someone else with the right Tech will come and beat you to it. Hence it is utterly vital that the step for the success is to easily manage changes within the SDLC while fostering a collaborative and full-on environment that is able to come up with idea, implement, and deploy on the spot. As well as revert or rollback the ideas that prove to be a failure or loss to the business with utter speed, hence being in control of risk aversion and mitigation for the business.