GithubHelp home page GithubHelp logo

asher-lab / git-cheat-sheet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rehansaeed/git-cheat-sheet

0.0 0.0 0.0 34 KB

A cheat sheet for uncommon Git commands.

License: MIT License

PowerShell 100.00%

git-cheat-sheet's Introduction

Git-Cheat-Sheet

A cheat sheet for uncommon Git commands

Configuration

Command Description
git config --global user.name "foo" Set user name
git config --global user.email "[email protected]" Set user email

Branches

Command Description
git branch foo Create a new branch
git branch -d foo Deletes a branch
git switch foo Switch to a branch
git switch -c|--create foo Create and switch to a branch
git restore foo.js Undo all changes on the foo.js file
git checkout foo.js Undo all changes on the foo.js file
git checkout foo Use git switch instead
git checkout -b foo Use git switch -c instead
git merge foo Merge branch into current branch

Pulling

Command Description
git pull --rebase --prune Get latest, rebase any changes not checked in and delete branches that no longer exist

Staged Changes

Command Description
git add file.txt Stage file
`git add -p --patch file.txt`
git mv file1.txt file2.txt Move/rename file
git rm --cached file.txt Unstage file
git rm --force file.txt Unstage and delete file
git reset HEAD Unstage changes
git reset --hard HEAD Unstage and delete changes
git clean -f|--force -d Recursively remove untracked files from the working tree
git clean -f|--force -d -x Recursively remove untracked and ignored files from the working tree

Changing Commits

Command Description
git reset 5720fdf Reset current branch but not working area to commit
git reset HEAD~1 Reset the current branch but not working area to the previous commit
git reset --hard 5720fdf Reset current branch and working area to commit
git commit --amend -m "New message" Change the last commit message
git commit --fixup 5720fdf -m "New message" Merge into the specified commit
git revert 5720fdf Revert a commit
git rebase --interactive [origin/main] Rebase a PR (git pull first)
git rebase --interactive 5720fdf Rebase to a particular commit
git rebase --interactive --root 5720fdf Rebase to the root commit
git rebase --continue Continue an interactive rebase
git rebase --abort Cancel an interactive rebase
git cherry-pick 5720fdf Copy the commit to the current branch

Compare

Command Description
git diff See difference between working area and current branch
git diff HEAD HEAD~2 See difference between te current commit and two previous commits
git diff main other See difference between two branches

View

Command Description
git log See commit list
git log --patch See commit list and line changes
git log --decorate --graph --oneline See commit visualization
git log --grep foo See commits with foo in the message
git show HEAD Show the current commit
git show HEAD^ or git show HEAD~1 Show the previous commit
git show HEAD^^ or git show HEAD~2 Show the commit going back two commits
git show main Show the last commit in a branch
git show 5720fdf Show named commit
git blame file.txt See who changed each line and when

Stash

Command Description
git stash push -m "Message" Stash staged files
git stash --include-untracked Stash working area and staged files
git stash --staged Stash staged files
git stash list List stashes
git stash apply Moved last stash to working area
git stash apply 0 Moved named stash to working area
git stash clear Clear the stash

Tags

Command Description
git tag List all tags
git tag -a|--annotate 0.0.1 -m|--message "Message" Create a tag
git tag -d|--delete 0.0.1 Delete a tag
git push --tags Push tags to remote repository

Remote

Command Description
git remote -v List remote repositories
git remote show origin Show remote repository details
git remote add upstream <url> Add remote upstream repository
git fetch upstream Fetch all remote branches
git rebase upstream/main Refresh main branch from upstream
git remote -v List remote repositories
git push --tags Push tags to remote repository

Submodules

Command Description
git submodule status Check status of all submodules
  • Pull submodules
    1. git submodule sync
    2. git submodule init
    3. git submodule update
  • Change branch
    1. cd /submodule
    2. git fetch origin <branch-name>
    3. git checkout <branch-name>
    4. cd /

git-cheat-sheet's People

Contributors

rehansaeed avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.