Skip to content

Latest commit

 

History

History
380 lines (359 loc) · 15.9 KB

git.md

File metadata and controls

380 lines (359 loc) · 15.9 KB

GIT

Git Commit Patterns

git commit patterns

git commit patterns

  • gitmoji

  • 🧪test: indicates any type of creation or alteration of test codes.
    Example: Creation of unit tests.

  • ✨feat: indicates the development of a new feature for the project.
    Example: Adding a service, functionality, endpoint, etc.

  • ♻️refactor: used when there is a code refactoring that does not have any impact on the system logic/rules.
    Example: Code changes after a code review

  • 🎨style: used when there are code formatting and style changes that do not change the system in any way.
    Example: Change the style-guide, change the lint convention, fix indentations, remove white spaces, remove comments, etc…

  • 🛠️fix: used when correcting errors that are generating bugs in the system.
    Example: Apply a handling for a function that is not behaving as expected and returning an error.

  • 🧹chore: indicates changes to the project that do not affect the system or test files. These are developmental changes.
    Example: Change rules for eslint, add prettier, add more file extensions to .gitignore

  • 📝docs: used when there are changes in the project documentation.
    Example: add information in the API documentation, change the README, etc.

  • 🏗️build: used to indicate changes that affect the project build process or external dependencies.
    Example: Gulp, add/remove npm dependencies, etc…

  • ⚡️perf: indicates a change that improved system performance.
    Example: change ForEach to While, etc…

  • 👷ci/cd: used for changes in CI configuration files.
    Example: Circle, Travis, BrowserStack, etc…

  • ⏪️revert: indicates the reversal of a previous commit.

Example with Emoji

Commit type Emoji
Initial commit 🎉 :tada:
Version tag 🔖 :bookmark:
New feature :sparkles:
Bugfix 🐛 :bug:
Metadata 📇 :card_index:
Documentation 📚 :books:
Documenting source code 💡 :bulb:
Performance :zap:
Style 💄 :lipstick:
Fix Lint Error 🚨 :rotating_light:
Adding a test :white_check_mark:
Make a test pass ✔️ :heavy_check_mark:
Improve format/structure 🎨 :art:
Refactor code ♻️ :recycle:
Removing code/files 🔥 :fire:
Continuous Integration 💚 :green_heart:
Security 🔒 :lock:
Upgrading dependencies ⬆️ :arrow_up:
Downgrading dependencies ⬇️ :arrow_down:
Update code due to external API changes 👽 :alien:
Typos Fix 📝 :pencil:
Critical hotfix 🚑 :ambulance:
Deploying stuff 🚀 :rocket:
Fixing on MacOS 🍎 :apple:
Fixing on Linux 🐧 :penguin:
Fixing on Windows 🪟 :window:
Work in progress 🚧 :construction:
Adding CI build system 👷 :construction_worker:
Analytics or tracking code 📈 :chart_with_upwards_trend:
Removing a dependency :heavy_minus_sign:
Adding a dependency :heavy_plus_sign:
Docker 🐳 :whale:
Configuration files 🔧 :wrench:
Package.json in JS 📦 :package:
Merging branches 🔀 :twisted_rightwards_arrows:
Bad code / need improv. 💩 :hankey:
Reverting changes :rewind:
Breaking changes 💥 :boom:
Code review changes 👌 :ok_hand:
Accessibility :wheelchair:
Move/rename repository 🚚 :truck:

Cache clear

  • If after adding .env to gitignore still it gets added to the commit then try this command
    git rm .env --cached

Git Commands

  1. git config -> Purpose: Configure Git settings, such as user name and email.
    Example: git config --global user.name "Your Name"
  2. git init -> Purpose: Initialize a new Git repository.
    Example: git init
  3. git clone -> Purpose: Clone an existing repository.
    Example: git clone https://github.com/user/repo.git
  4. git status -> Purpose: Show the working directory and staging area status.
    Example: git status
  5. git add -> Purpose: Add file contents to the index (staging area).
    Example: git add . (add all files)
  6. git commit -> Purpose: Record changes to the repository.
    Example: git commit -m "Commit message"
  7. git push -> Purpose: Update remote refs along with associated objects.
    Example: git push origin main
  8. git pull -> Purpose: Fetch from and integrate with another repository or local branch.
    Example: git pull origin main
  9. git branch -> Purpose: List, create, or delete branches.
    Example: git branch new-branch (create new branch)
  10. git checkout -> Purpose: Switch branches or restore working tree files.
    Example: git checkout new-branch (switch to branch)
  11. git switch -> Purpose: Switch branches.
    Example: git switch new-branch
  12. git merge -> Purpose: Join two or more development histories together.
    Example: git merge new-branch (merge new-branch into current branch)
  13. git rebase -> Purpose: Reapply commits on top of another base tip.
    Example: git rebase main
  14. git log -> Purpose: Show commit logs.
    Example: git log --oneline
  15. git diff -> Purpose: Show changes between commits, commit and working tree, etc.
    Example: git diff (show unstaged changes)
  16. git show -> Purpose: Show various types of objects.
    Example: git show HEAD (show changes in the last commit)
  17. git stash -> Purpose: Stash the changes in a dirty working directory away.
    Example: git stash
  18. git stash pop -> Purpose: Apply the changes recorded in the stash to the working directory.
    Example: git stash pop
  19. git clean -> Purpose: Remove untracked files from the working directory.
    Example: git clean -fd
  20. git remote -> Purpose: Manage set of tracked repositories.
    Example: git remote add origin https://github.com/user/repo.git
  21. git fetch -> Purpose: Download objects and refs from another repository.
    Example: git fetch origin
  22. git remote -v -> Purpose: Show the URLs that a remote name corresponds to.
    Example: git remote -v
  23. git tag -> Purpose: Create, list, delete, or verify a tag object.
    Example: git tag -a v1.0 -m "Version 1.0"
  24. git push origin --tags -> Purpose: Push all tags to the remote repository.
    Example: git push origin --tags
  25. git reset -> Purpose: Reset current HEAD to the specified state.
    Example: git reset --hard HEAD~1 (reset to previous commit)
  26. git revert -> Purpose: Create a new commit that undoes the changes from a previous commit.
    Example: git revert HEAD
  27. git checkout -- -> Purpose: Discard changes in the working directory.
    Example: git checkout -- file.txt (discard changes in file.txt)
  28. git cherry-pick -> Purpose: Apply the changes introduced by some existing commits.
    Example: git cherry-pick <commit-hash>
  29. git branch -d -> Purpose: Delete a branch.
    Example: git branch -d branch-name
  30. git branch -D -> Purpose: Force delete a branch.
    Example: git branch -D branch-name
  31. git merge --no-ff -> Purpose: Create a merge commit even when the merge resolves as a fast-forward.
    Example: git merge --no-ff new-branch
  32. git rebase -i -> Purpose: Start an interactive rebase.
    Example: git rebase -i HEAD~3
  33. git diff --staged -> Purpose: Show changes between the index and the last commit.
    Example: git diff --staged
  34. git blame -> Purpose: Show what revision and author last modified each line of a file.
    Example: git blame file.txt
  35. git log --graph -> Purpose: Show a graph of the commit history.
    Example: git log --graph --oneline
  36. git reflog -> Purpose: Show a log of all references.
    Example: git reflog
  37. git stash list -> Purpose: List all stashes.
    Example: git stash list
  38. git stash apply -> Purpose: Apply a stash to the working directory.
    Example: git stash apply stash@{1}
  39. git stash drop -> Purpose: Remove a single stash entry from the list of stashes.
    Example: git stash drop stash@{1}
  40. git remote show -> Purpose: Show information about the remote repository.
    Example: git remote show origin
  41. git remote rm -> Purpose: Remove a remote.
    Example: git remote rm origin
  42. git pull --rebase -> Purpose: Fetch and rebase the current branch on top of the upstream branch.
    Example: git pull --rebase origin main
  43. git fetch --all -> Purpose: Fetch all remotes.
    Example: git fetch --all
  44. git bisect -> Purpose: Use binary search to find the commit that introduced a bug.
    Example: git bisect start
  45. git submodule -> Purpose: Initialize, update, or inspect submodules.
    Example: git submodule update --init
  46. git archive -> Purpose: Create an archive of files from a named tree.
    Example: git archive --format=tar HEAD > archive.tar
  47. git shortlog -> Purpose: Summarize git log output.
    Example: git shortlog -s -n
  48. git describe -> Purpose: Give an object a human-readable name based on an available ref.
    Example: git describe --tags
  49. git rev-parse -> Purpose: Parse revision (or other objects) and retrieve its hash.
    Example: git rev-parse HEAD
  50. git tag -d -> Purpose: Delete a tag from the local repository.
    Example: git tag -d v1.0
  51. git checkout -b -> Purpose: Create and switch to a new branch.
    Example: git checkout -b new-branch
  52. git push origin --delete -> Purpose: Delete a remote branch.
    Example: git push origin --delete branch-name
  53. git cherry -> Purpose: Find commits not merged upstream.
    Example: git cherry -v
  54. git rm -> Purpose: Remove files from the working tree and from the index.
    Example: git rm file.txt
  55. git mv -> Purpose: Move or rename a file, directory, or symlink.
    Example: git mv oldname.txt newname.txt
  56. git reset HEAD -> Purpose: Unstage changes.
    Example: git reset HEAD file.txt
  57. git log -p -> Purpose: Show changes over time for a specific file.
    Example: git log -p file.txt
  58. git diff --cached -> Purpose: Show changes between the index and the last commit (same as --staged).
    Example: git diff --cached
  59. git apply -> Purpose: Apply a patch to files and/or to the index.
    Example: git apply patch.diff
  60. git format-patch -> Purpose: Prepare patches for e-mail submission.
    Example: git format-patch -1 HEAD
  61. git am -> Purpose: Apply a series of patches from a mailbox.
    Example: git am < patch.mbox
  62. git cherry-pick --continue -> Purpose: Resume cherry-picking after resolving conflicts.
    Example: git cherry-pick --continue
  63. git fsck -> Purpose: Verify the connectivity and validity of objects in the database.
    Example: git fsck
  64. git gc -> Purpose: Cleanup unnecessary files and optimize the local repository.
    Example: git gc
  65. git prune -> Purpose: Remove unreachable objects from the object database.
    Example: git prune
  66. git notes -> Purpose: Add or inspect object notes.
    Example: git notes add -m "Note message"
  67. git whatchanged -> Purpose: Show what changed, similar to git log.
    Example: git whatchanged
  68. git show-branch _ -> Purpose: Show branches and their commits.
    Example: git show-branch
  69. git verify-tag -> Purpose: Check the GPG signature of tags.
    Example: git verify-tag v1.0
  70. git show-ref -> Purpose: List references in a local repository.
    Example: git show-ref