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]

Branching

Create

new branch from local head (current state of changes)

git checkout -b [new branch name]

Switch

back to master or other branch

git checkout master

Delete

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

Update

the local repo to latest commit from remote

git pull

Merge

other branch into current branch

git merge [branch name]

Check diff

between two branches

git diff [source branch] [target branch]

Logs

All log

git log

Commit log by author

git log --author=[username]

Log for changed files

git log --name-status

Tags

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

Reset/Rollback to specific commit

 git reset --hard <commit-hash>

or

git reset --hard HEAD~n

replace n with last n commits

 git push -f origin master

Tweaks

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

Open repository in browser

Prerequisites

Before proceeding with the Git commands and aliases in this guide, ensure you have the following installed:

  1. GitHub CLI (gh): Required for some advanced features like opening repositories in the browser.

To install GitHub CLI, visit the official website: https://cli.github.com/

Follow the installation instructions for your operating system. After installation, authenticate with your GitHub account by running:

gh auth login

Add a global alias to open the current repository in the browser:

git config --global alias.open '!gh repo view -w'

Usage:

git open

This command will open the current repository's page in your default web browser. Note that this requires the GitHub CLI (gh) to be installed and authenticated.

.gitignore

Generate .gitignore with gitingnore.io