Skip to content

Latest commit

 

History

History
87 lines (78 loc) · 3.49 KB

README.md

File metadata and controls

87 lines (78 loc) · 3.49 KB

Git Cheat Sheet

table of content

Git configuration

$ git config --global user.name “Your Name”
Set the name that will be attached to your commits and tags.
$ git config --global user.email “[email protected]
Set the e-mail address that will be attached to your commits and tags.

Starting A Project

$ git init [project name]
Create a new local repository. If project name is provided, Git will create a new directory name project name and will initialize a repository inside it. If project name is not provided, then a new repository is initialized in the current directory.
$ git clone [project url]
Downloads a project with the entire history from the remote repository.

Day-To-Day Work

$ git status
Displays the status of your working directory. Options include new, staged, and modified files. It will retrieve branch name, current commit identifier, and changes pending commit.
$ git add [file]
Add a file to the staging area. Use in place of the full file path to add all changed files from the current directory down into the directory tree.
$ git commit -m "[message]"
Create a new commit from changes added to the staging area. The commit must have a message!

Synchronizing repositories

$ git fetch [remote]
Fetch changes from the remote, but not update tracking branches.
$ git pull [remote]
Fetch changes from the remote and merge current branch with its upstream.
$ git push [--tags] [remote]
ush local changes to the remote. Use --tags to push tags.
$ git push -u [remote] [branch]
Push local branch to remote repository. Set its copy as an upstream.

Git branching model

$ git branch [-a]
List all local branches in repository. With -a: show all branches (with remote).
$ git branch [branch_name]
Create new branch, referencing the current HEAD.
$ git checkout [-b][branch_name]
Switch working directory to the specified branch. With -b: Git will create the specified branch if it does not exist.
$ git merge [from name]
oin specified [from name] branch into your current branch (the one you are on currently).
$ git branch -d [name]
Remove selected branch, if it is already merged into any other. -D instead of -d forces deletion.

Tagging known commits

$ git tag
List all tags.
$ git tag [name] [commit sha]
Create a tag reference named name for current commit. [Add commit sha] to tag a specific commit instead of current one.
$ git tag -a [name] [commit sha
Create a tag object named name for current commit.

Reverting changes

$ git reset [--hard] [target reference]
Switches the current branch to the target reference, leaving a difference as an uncommitted change. When --hard is used, all changes are discarded. $ git revert [commit sha]
Create a new commit, reverting changes from the specified commit. It generates an inversion of changes.

My Strategy

image