Skip to main content

Git Basic

Installing Git

Download from git-scm and Install.

Create a new repository

create a new folder and then

git init

Clone the repository

https method

git clone [url of repo] ./

ssh method

git clone username@host:user/reponame ./

Add & Commit

Add sepecifc file/s

to change index

git add [filename]

Add all changed files

to change index

git add .

Commit the message

for changes in files

git commit -m "Commit message"

Pushing changes

Push local head changes

to remote master

git push origin master

Add remote server to repo

git remote add origin [repo url]



new branch from local head (current state of changes)

git checkout -b [new branch name]


back to master or other branch

git checkout master


the branch with merged changes (safe delete)

git branch -d [branch name]

the branch with unmerged changes (force delete)

git branch -D [branch name]

Push changes

git push origin [branch name]

Merge and update


the local repo to latest commit from remote

git pull


other branch into current branch

git merge [branch name]

Check diff

between two branches

git diff [source branch] [target branch]


All log

git log

Commit log by author

git log --author=[username]

Log for changed files

git log --name-status


Add tag (locally)

to specific commit

git tag [tag name] [commmit]

Delete tag (locally)

git tag --delete [tag name]

Push specific tag to remote

git push origin [tag name]

Push all local tags

to remote

git push origin --tags

Create empty branch without history (no previous commits)

git checkout --orphan [new branch name]


Reset/Rollback to specific commit

 git reset --hard <commit-hash>


git reset --hard HEAD~n

replace n with last n commits

 git push -f origin master


Showing colorful output

of command results (works only in local repo.)

git config color.ui true

Auto setup remote when pushing to new branch

git config --global --add --bool push.autoSetupRemote true


Generate .gitignore with