My profile

Git and GitHub

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

GitHub is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project.

Git & GitHub

Git command line instructions

Git is the open source distributed version control system that facilitates GitHub activities on your laptop or desktop. A list of commonly used Git commands are given below.

The most commonly used Git command line instructions for quick reference

Git Commands

The most commonly used Git command line instructions for quick reference

First Time Git Setup

Command Description
git config --list --show-origin To view all of your settings
git config --global user.name "[username]" Configure your GitHub username in Git
git config --global user.email "[useremail]" Configure your GitHub useremail in Git

Creating & Getting Projects

Command Description
git init Initialize a local Git repository
git clone ssh://git@github.com/[username]/[repository-name].git Create a local copy of a remote repository
git clone [repository-url].git Create a local copy of a remote repository
git clone --single-branch --branch [branch name] [repository-url].git Create a local copy of a remote repository of a specific branch

Basic Snapshotting

Command Description
git status Check status
git add [file-name.txt] Add a file to the staging area
git add -A or git add . Add all new and changed files to the staging area
git commit -m "[commit message]" Commit changes
git rm -r [file-name.txt] Remove a file (or folder)

Branching & Merging

Command Description
git branch List branches (the asterisk denotes the current branch)
git branch -a List all branches (local and remote)
git branch [branch name] Create a new branch
git branch -d [branch name] Delete a branch
git push origin --delete [branch name] Delete a remote branch
git checkout -b [branch name] Create a new branch and switch to it
git checkout -b [branch name] origin/[branch name] Clone a remote branch and switch to it
git branch -m [old branch name] [new branch name] Rename a local branch
git checkout [branch name] Switch to a branch
git checkout - Switch to the branch last checked out
git checkout -- [file-name.txt] Discard changes to a file
git merge [branch name] Merge a branch into the active branch
git merge [source branch] [target branch] Merge a branch into a target branch
git stash Stash changes in a dirty working directory
git stash clear Remove all stashed entries

Sharing & Updating Projects

Command Description
git push origin [branch name] Push a branch to your remote repository
git push -u origin [branch name] Push changes to remote repository (and remember the branch)
git push Push changes to remote repository (remembered branch)
git push origin --delete [branch name] Delete a remote branch
git pull Update local repository to the newest commit
git pull origin [branch name] Pull changes from remote repository
git remote add origin ssh://git@github.com/[username]/[repository-name].git Add a remote repository
git remote set-url origin ssh://git@github.com/[username]/[repository-name].git Set a repository's origin branch to SSH

Inspection & Comparison

Command Description
git log View changes
git log --summary View changes (detailed)
git log --oneline View changes (briefly)
git diff [source branch] [target branch] Preview changes before merging

Synchronize changes

Command Description
git fetch Downloads all history from the remote tracking branches
git merge Combines remote tracking branches into current local branch
git push Uploads all local branch commits to GitHub
git pull Updates your current local working branch with all new commits from the corresponding remote branch on GitHub.

Note:

git pull is a combination of git fetch and git merge

Redo Commits

Command Description
git reset [commit] Undoes all commits after [commit], preserving changes locally
git reset --hard [commit] Discards all history and changes back to the specified commit
git rebase [branch] Apply any commits of current branch ahead of specified one
view raw Git-Commands.md hosted with ❤ by GitHub
Go back