Skip to content

amarula/git-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Training

Technology

We use slidev for writing our slides. This allows us to have a common template, to be able to export slides in a very fast way and to review them as text, allowing us to use git to correct us without doing it "the old way" (not as old as saving them on floppy disks USB devices and passing them around).

How to start with slide

To start the slide show:

An Introduction to Git

Course Overview

This training provides a comprehensive introduction to Git, a powerful and essential version control system. You'll learn how Git tracks changes to files, enables collaboration, and simplifies software development workflows. The course covers fundamental concepts, basic commands, branching and merging, working with remote repositories, and how to undo changes.

Course Objectives

By the end of this training, you will be able to:

  • Understand the basic concepts of version control.
  • Install and configure Git on your local system.
  • Initialize a Git repository and manage files within it.
  • Use Git to track changes, stage them, and commit them.
  • Work with Git branches for parallel development and feature isolation.
  • Collaborate with others using remote repositories like GitHub.
  • Undo mistakes and recover from errors using Git.
  • Use advanced Git techniques.

Target Audience

This training is designed for:

  • Beginners who are new to version control.
  • Developers who want to learn Git for software development.
  • Anyone who wants to track changes to files and collaborate with others.

Prerequisites

  • No prior knowledge of Git is required.
  • Basic computer skills and familiarity with the command line are helpful but not required.

Course Outline

The training is divided into the following parts:

Part 1: Introduction to Version Control

  • What is Version Control?
  • Why Use Version Control?
  • Benefits of Version Control: Tracking Changes, Collaboration, Experimentation, Rollback, Branching and Merging.

Part 2: Getting Started with Git

  • Installing Git (Windows, macOS, Linux)
  • Checking Installation
  • Basic Git Configuration (username, email)
  • Checking Configuration
  • Initializing a Repository (git init)
  • Working Directory, Staging Area, Repository
  • Adding Files to Staging (git add)
  • Checking Status (git status)
  • Committing Changes (git commit)
  • Commit Message Guidelines
  • Viewing Commit History (git log)
  • Ignoring Files (.gitignore)
  • Creating .gitignore

Part 3: Working with Branches

  • What are Branches?
  • Why Use Branches?
  • Listing Branches (git branch)
  • Creating a New Branch (git branch <branch_name>)
  • Switching Branches (git checkout <branch_name>)
  • Creating and Switching (git checkout -b <branch_name>)
  • Making Changes on a Branch
  • Switching Back to Main
  • Viewing Branch Changes
  • Merging Branches (git merge)
  • Example Merge (No Conflicts)
  • Merge Conflicts
  • Identifying Conflicts
  • Resolving Conflicts
  • Deleting Branches (Local)
  • Branching Strategies
  • Keeping Main Updated

Part 4: Working with Remote Repositories

  • What are Remote Repositories?
  • Adding a Remote (git remote add)
  • Viewing Remotes (git remote -v)
  • Pushing to a Remote (git push)
  • First Push and Tracking (git push -u)
  • Fetching Changes (git fetch)
  • Pulling Changes (git pull)
  • Cloning a Repository (git clone)
  • Basic Collaboration Workflow
  • Pull Requests
  • Keeping Local Synced
  • Dealing with Pull Conflicts
  • Rebasing (Introduction)
  • Comparing Branches
  • Deleting Remote Branches
  • Troubleshooting Remote Issues

Part 5: Undoing Changes

  • Undoing Changes
  • Unstaged Changes (git restore)
  • Unstaging Changes (git restore --staged)
  • Undoing the Last Commit (git reset)
  • Understanding HEAD
  • Going Back to a Commit (git reset --hard <commit_hash>)
  • Undoing a Pushed Commit (git revert <commit_hash>)
  • Cleaning Untracked Files (git clean)
  • Recovering Deleted Commits (git reflog)
  • Best Practices for Undoing

Part 6: Advanced Topics

  • Stashing Changes
  • Tagging Releases
  • Ignoring Changes in Tracked Files
  • Git Aliases
  • Further Learning

Part 7: Conclusion and Q&A

  • Summary of Git commands
  • Q&A session

Further Learning Resources

  • Git Documentation: https://git-scm.com/doc
  • Online tutorials and courses (e.g., Coursera, Udemy, freeCodeCamp).
  • Community forums (e.g., Stack Overflow).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •