Last month, I read up on the Git version control system. I actually found it difficult to understand initially, but after reading several articles on Git, watched a lot of YouTube videos, and completed my The Odin Project lesson, I think I have a clear idea now. Here is a summary of the git commands I learned, as a cheatsheet for future use by me - and any other fellow Git-beginners out there. But before we dive into all that, let's address this obvious question;
What Exactly is Git?
Git is a free and open-source distributed version control system. Version control systems (also known as revision control, source control, or source code management) are used to manage changes to computer programs, documents, large web sites, and other collections of information. These systems provide an automatic way to track changes in projects thereby giving creators the power to view previous versions of files and directories), securely back up the project and its history, and collaborate easily and conveniently with others. They are crucial for tracking edits made by others, correcting errors, and protecting against spam and vandalism. Distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer.
Git is acessed via a command-line program called git
which lets users transform an ordinary directory into a repository (a sort of enhanced directory with the additional ability to track changes to every file and sub-directory). Here are some basic commands frequently used when running Git π
Git Cheatsheet
All Git commands consist of the command-line program git
followed by the name of the command, so for the full command ...
to check the version of git installed on your system, type π
git --version
.to set your global configuration settings (i.e. your git name and username), type π
git config --global user.name <yourname>
andgit config --global user.email <email address>
. To configure your local default git branch name to main (rather than master which has always been used), type πgit config --global init.defaultBranch main
. To check all your git configuration values, type πgit config --list
.to initialize a git repository, type π
git init
. This creates a special hidden directory called .git where git stores the information it needs to track your projectβs changes. (Itβs the presence of a properly configured.git
directory that distinguishes a git repository from a regular directory.)to clone a remote repository on your computer, type π
git clone <URL where the repository is>
. To create a file in a git repository just usetouch
like you would when creating a new file on the command line. To check if you've successfully connected your remote repository to your local machine, navigate to the cloned repository and confirm its URL by typing πgit remote -v
. To change the URL of your git remote origin, type πgit remote set-url origin <newurl>
to hide files in your repository that you don't want others to see, create a git ignore file using touch, type π
touch .gitignore
and manually include the names of those files (or file patterns/extensions) you want ignored to the .gitignore text file.to check the status of your repository, use π
git status
. This enables you to see all changes to files within the respository, displayed to show; files that are merely in your working directory (these are termed 'untracked files'), files that have been edited but not yet (re)staged for commit and files in the staging area (with changes about to be committed to the repository).to make a commit in git: first add the file (or files) you want to commit to the staging area, type π
git add <filename>
to add a single file orgit add .
to add all unstaged files in the current directory andgit add -A
to add all untracked files and directories in the repository. Then type πgit commit -m <a message describing what you have done to make this snapshot different>
to commit your changes.to remove a single file from the staging area, type π
git reset <filename>
orgit restore --staged <filename>
orgit rm --cached <filename>
. To remove all files, simply type πgit reset
. To check the difference between the last commit and unstaged changes in your current project, type πgit diff
.to upload/push your work to a remote repository, type π
git push origin main
. To see the history of your commits, type πgit log
. This command shows only the commits messages which isn't particularyly detailed. To see the full diffs representated by each commit, use the-p
flag, type πgit commit -p
to commit all changes in your currently existing files, pass the
-a
flag to thegit commit
command by typing πgit commit -am <message>
. The-a
flag commits all pending changes to files in the repository. Always remember to type πgit add -A
when there are new files.to see the difference between staged changes and the previous version of the repo, type π
git diff --staged
.to correct an error in /update your last commit message, type π
git commit --amend
. To ascertain that your git commit message was properly updated, rungit log
to get the SHA of your last commit then view the diff using πgit show <SHA>
.
Resources
I generally use the The Odin Project curriculum to study. In addition to that, other resources I found useful while reading up on Git include:
- Learn Enough Git to be Dangerous
- Corey Schafer's Git Tutorial for Beginners on Youtube
- Fireship's Youtube video on Git It? How to use Git and Github
Hey, thanks for reading! π π