0% found this document useful (0 votes)
15 views19 pages

Git Crash Course

This document provides an introduction to version control systems, focusing on Git, which allows users to track changes, collaborate, and manage file versions. It outlines the basic Git workflow, including setting up a repository, staging files, committing changes, and checking the status and history of commits. Additionally, it offers commands for common tasks and resources for further learning about Git.

Uploaded by

neelasan0
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views19 pages

Git Crash Course

This document provides an introduction to version control systems, focusing on Git, which allows users to track changes, collaborate, and manage file versions. It outlines the basic Git workflow, including setting up a repository, staging files, committing changes, and checking the status and history of commits. Additionally, it offers commands for common tasks and resources for further learning about Git.

Uploaded by

neelasan0
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

An introduction to

version control systems


with Git
Version control systems

● Version control systems record changes to a file or set of

files over time so that you can recall specific versions later

● Many systems have risen to popularity over the years

○ RCS

○ CVS

○ Subversion

● We will focus on Git

2
Why use version control?

● These systems help with:

○ Tracking changes

○ Short and long term undo

○ Backup and restore

○ Synchronization

○ Collaboration

3
Local version control systems

4
Centralized version control systems

5
Distributed version control systems

6
The basic Git workflow

● Modify files in your working directory


● Stage the files, adding snapshots to your staging area
● Commit your changes to your local copy of the repository

7
The lifecycle of a file in Git

● Git does not necessary keep track of all files in your working
directory

8
Example repository

9
Gitting started

● Set your identity

○ $ git config --global [Link] "John Doe"

○ $ git config --global [Link] jdoe@[Link]

● Set other configuration options

○ $ git config --global [Link] true

● Get help

○ $ git help <verb>

10
Creating a new repository

● $ git init

● Creates a new (empty) repository in the current directory

11
Copying a repository

● For this class, your instructor will create a repository for

you, you will just need to copy it from GitHub to your

computer using the following command:

● $ git clone <repository>

○ Creates a copy of <repository> in the current directory

12
Staging files

● As you work, you will create new files and modify existing

files, when you are satisfied with your changes, you can

stage them for commit with:

● $ git add <file_pattern>

13
Committing changes

● Commits create a new version in the repository

● Include a commit message describing the new version

● $ git commit -m <msg>

14
Checking working directory status

● $ git status

● Reports:

○ Files in the working directory that are not tracked

○ File modifications not yet staged for commit

○ File additions and modifications staged for commit

15
Overviewing commit history

● $ git log

● Lists commits made to the current repository

16
Git example (cloning via GitHub)

17
Handy command - comparing versions

● It may be handy to see exactly how files changed

● $ git diff

○ Shows modifications not yet staged for commit

● $ git diff <commit_id>

○ Show changes since the commit specified

● $ git diff <commit_id1> <commit_id2>

○ Show changes between two commits

18
What we've covered here...

● … presents only a brief overview of Git


○ Further topics:
■ branching
■ rebasing
■ tagging
■ …
● Further resources:
○ [Link]
○ [Link]
○ [Link]

19

You might also like