GIT Cheatsheet

From UNIX Systems Administration
Jump to navigation Jump to search

GIT Cheatsheet

  • Initial setup git Global Configuration Variables
    These configuration variables are stored in ~/.gitconfig
    $ git config --global user.name "<user>"
    $ git config --global user.email "<email>"
    $ git config --list
  • Initialize a new git Repository
    $ cd into directory to be added to the repository
    $ git init
    $ git add -A
    $ git commit -m "Repository Initialization"
    $ git remote add origin ssh:<url>
    $ git push origin master
  • Cloning a Remote Repository
    $ git clone ssh:<url> <src/.>
    $ git remote -v
    $ git branch -a
  • Creating Branches
    $ git branch <branch name>
    $ git checkout <branch name>
    $ git branch
  • Merging Branches
    git checkout master
    git pull origin master
    git branch --merged
    git merge <branch>
    git push origin master
  • Deleting a Branch
    git branch --merged
    git branch -d <branch to delete>
    git branch -a
    git push origin --delete <branch to delete>
  • Update a file
    git add <file>
    git commit -m "Description of changes"
    git push
  • Commiting & Pushing Changes
    git diff
    git status
    git add -A
    git commit -m "<message>"
    git pull origin <branch>
    git push origin <branch>
  • Remove files from repository keep local
    git rm --cached <file>
    git commit -m "Description of changes"
    git push
  • List files in repository
    git ls-files
  • Revert to previous version (pre commit)
    git checkout <filename>
    git status
    git diff
  • Fix commit message
    git commit --ammend -m "<message>"

Add a file as a part of previous commit

  • git commit --ammend

Move commits to another branch

       Get Hash
               git log
       git checkout <branch>
       git cherry-pick <hash>
       Remove the commit from the original branch (soft reset), removing commits but keeping staging directory in branch
               git checkout <original branch>
               git log
               git reset --soft <hash of correct commit>
               git status
       Remove the commit from the original branch (mixed reset), removing commits and files in staging directory in branch
               git checkout <original branch>
               git reset <hash>
               git status
       Remove the commit from the original branch (hard reset), removing commits and tracked files entirely in branch
               git checkout <original branch>
               git reset --hard <hash>
               git status

Remove Untracked Directories and Files

       git clean -df
       git status