SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Git for
scientist and
beginners
11th
April, 2021
About me
● Damascus University, Computer Science graduate.
● Majored in AI.
● Software Developer since 2018.
● Maintains some hobby projects on GitHub: @Reslan-Tinawi
Agenda
1. What is version control
2. What is Git
3. Installing & setting up Git
4. Setting up a repository
5. Saving changes (in Git world)
6. Git for team collaboration
7. Syncing repositories.
Note: this is a practical-focused workshop, I will be sharing my screen and do
demos.
Version control motivation
- Tracking and managing changes to software code.
- Keeps track of every modification to the code.
- A complete long-term change history of every file.
- Facilitating team collaboration on the same project.
- Source
What is Git
- Most widely used modern version control system in the world.
- Distributed Version Control System.
- Every developer's working copy of the code is also a repository that can
contain the full history of all changes.
- Git is a “de facto” standard in the Software World.
- Source
Most common Git services
Installing Git
- Won’t be covered in detail here.
- It’s an easy process.
- Follow this guide.
- Git ssh setup:
- Generating a new SSH key
- Adding a new SSH key to your GitHub account
Setting up a repository
- Initializing a new Git repo
- git init
- git remote add <remote_name> <remote_url>
- Cloning an existing Git repo
- git clone <repo_url>
Saving and tracking changes
- Saving changes in Git is a little different from saving in a word processor.
- Add changes to staging area.
- git add
- “Commit” changes.
- git commit -m "commit message"
- Push changes to remote repository.
- git push <remote> <branch>
Git collaboration
- What are branches, and why do we need them?
- Imagine you are working on more than one task:
- Introducing a new feature.
- Fixing bugs.
- Experimenting ideas.
- Keep the master branch clean and stable.
- Branches represent an independent line of development.
Git collaboration (cont’d).
Git collaboration (cont’d).
- Creating branches.
- git branch <branch_name>
- Checking out branches.
- git checkout <branch_name>
Git collaboration (cont’d).
- Integrate changes in your feature/fix branch in the master branch.
- Pull requests: makes it harder for unstable code to get merged into the
main code base
- It’s best practise to perform code preview, before merging.
Pull Request example:
Syncing changes
- Upload local changes to remote repository.
- git push <remote> <branch>
- Download changes from remote repository.
- git pull <remote>
Your turn
1. Create a GitHub account: the easiest step.
2. Create SSH key: might have some troubles, ask for help on Slack.
3. Start using git for your projects:
a. Initialize new or existing project.
b. Or clone a repository.
Good resources to learn more
- Atlassian Git tutorials
- GitHub Guides

Weitere ähnliche Inhalte

Was ist angesagt?

Git and GitGHub Basics
Git and GitGHub BasicsGit and GitGHub Basics
Git and GitGHub BasicsAswin Barath
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucketMedhat Dawoud
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-BryanLearningTech
 
Getting Started with Git and GitHub
Getting Started with Git and GitHubGetting Started with Git and GitHub
Getting Started with Git and GitHubRabiraj Khadka
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentalsRajKharvar
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHubCuong Ngo
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 
Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Borek Bernard
 

Was ist angesagt? (20)

Git and GitGHub Basics
Git and GitGHub BasicsGit and GitGHub Basics
Git and GitGHub Basics
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
Bitbucket and Git
Bitbucket and GitBitbucket and Git
Bitbucket and Git
 
Git Primer
Git PrimerGit Primer
Git Primer
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-Bryan
 
Getting Started with Git and GitHub
Getting Started with Git and GitHubGetting Started with Git and GitHub
Getting Started with Git and GitHub
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHub
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)
 

Ähnlich wie Git workshop

Ähnlich wie Git workshop (20)

Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
 
Git 101
Git 101Git 101
Git 101
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Git basics
Git basicsGit basics
Git basics
 
GDSC23 - Github Workshop Presentation.pptx
GDSC23 - Github Workshop Presentation.pptxGDSC23 - Github Workshop Presentation.pptx
GDSC23 - Github Workshop Presentation.pptx
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHub
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Git and github
Git and githubGit and github
Git and github
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptx
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
3 Git
3 Git3 Git
3 Git
 
Git Series - Part 1
Git Series - Part 1 Git Series - Part 1
Git Series - Part 1
 
Git Overview
Git OverviewGit Overview
Git Overview
 
Git
GitGit
Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Optimize Your Enterprise Git Webinar
Optimize Your Enterprise Git WebinarOptimize Your Enterprise Git Webinar
Optimize Your Enterprise Git Webinar
 

Kürzlich hochgeladen

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 

Kürzlich hochgeladen (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 

Git workshop

  • 2. About me ● Damascus University, Computer Science graduate. ● Majored in AI. ● Software Developer since 2018. ● Maintains some hobby projects on GitHub: @Reslan-Tinawi
  • 3. Agenda 1. What is version control 2. What is Git 3. Installing & setting up Git 4. Setting up a repository 5. Saving changes (in Git world) 6. Git for team collaboration 7. Syncing repositories. Note: this is a practical-focused workshop, I will be sharing my screen and do demos.
  • 4. Version control motivation - Tracking and managing changes to software code. - Keeps track of every modification to the code. - A complete long-term change history of every file. - Facilitating team collaboration on the same project. - Source
  • 5. What is Git - Most widely used modern version control system in the world. - Distributed Version Control System. - Every developer's working copy of the code is also a repository that can contain the full history of all changes. - Git is a “de facto” standard in the Software World. - Source
  • 6. Most common Git services
  • 7. Installing Git - Won’t be covered in detail here. - It’s an easy process. - Follow this guide. - Git ssh setup: - Generating a new SSH key - Adding a new SSH key to your GitHub account
  • 8. Setting up a repository - Initializing a new Git repo - git init - git remote add <remote_name> <remote_url> - Cloning an existing Git repo - git clone <repo_url>
  • 9. Saving and tracking changes - Saving changes in Git is a little different from saving in a word processor. - Add changes to staging area. - git add - “Commit” changes. - git commit -m "commit message" - Push changes to remote repository. - git push <remote> <branch>
  • 10. Git collaboration - What are branches, and why do we need them? - Imagine you are working on more than one task: - Introducing a new feature. - Fixing bugs. - Experimenting ideas. - Keep the master branch clean and stable. - Branches represent an independent line of development.
  • 12. Git collaboration (cont’d). - Creating branches. - git branch <branch_name> - Checking out branches. - git checkout <branch_name>
  • 13. Git collaboration (cont’d). - Integrate changes in your feature/fix branch in the master branch. - Pull requests: makes it harder for unstable code to get merged into the main code base - It’s best practise to perform code preview, before merging.
  • 15. Syncing changes - Upload local changes to remote repository. - git push <remote> <branch> - Download changes from remote repository. - git pull <remote>
  • 16. Your turn 1. Create a GitHub account: the easiest step. 2. Create SSH key: might have some troubles, ask for help on Slack. 3. Start using git for your projects: a. Initialize new or existing project. b. Or clone a repository.
  • 17. Good resources to learn more - Atlassian Git tutorials - GitHub Guides