Skip to content

Latest commit

 

History

History
896 lines (722 loc) · 23.6 KB

File metadata and controls

896 lines (722 loc) · 23.6 KB

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:

Rewrite Git History

  • Open your .gitconfig file in C:\Users\<user name>\.gitconfig
  • Paste the bellow file at the end to make notepad++ as your default editor for git
    [core]
    editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar
  • Then open your local repository in terminal and run bellow command
    git checkout main
    git rebase -i --root
  • It will open the commit history in notepad++
  • Remove the commit you want to remove or sort then close the file
  • Then run the below command in the terminal
    git push --force

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

NVM

NVM (Node Version Manager for using multiple node version in same machine)

  • Download from here

  • To see version of nvm.

    nvm version
    <!-- or -->
    nvm v
  • Show if node is running in 32 or 64 bit mode. Specify 32 or 64 to override the default architecture.

    nvm arch [32|64]
  • To see all the node versions available for installation.

    nvm list available
  • To install the latest version of node.

    nvm install latest
  • To install the LTS version of node.

    nvm install lts
  • Install a specific version of node.

    nvm install <version>

    example

    nvm install 18.3.0
  • Uninstall a specific version.

    nvm uninstall <version>

    example

    nvm uninstall 18.3.0
  • See all the installed node version.

    nvm ls
  • To specify or change the current active version.

    nvm use <version>

    example

    nvm use 18.3.0
  • To see active version name/no.

    nvm current

NPM

8 Useful Npm Commands

1. Open a package’s documentation page

npm docs [package-name] // npm docs lodash

2. Open a package’s GitHub repo

npm repo [package-name] // npm repo lodash

3. Check packages for outdated dependencies

npm outdated // run it in a project

4. View all historical versions of a package

npm v [package-name] versions // npm v lodash versions

5. Find risky packages in your project

npm audit // run it in a project

6. View details of a package

npm v [package-name] // npm v lodash

7. npm xmas (For Fun)

npm xmas

8. npm visnup (For Fun)

npm visnup

Npm Commands For Global Execution

  1. Get list of all globally installed npm packages

    npm list -g
  2. Check if the package is globally installed

    npm list -g <package-name>
  3. Uninstall global package

    npm uninstall -g <package-name>
  4. Check which packages are outdated

    npm outdated -g
  5. Update all global packages

    npm update -g
  6. Update a global package

    npm update -g <package_name>

Npm Commands For updating dependency versions

  1. Check all the upgradable dependency lists

    npx npm-check-updates

    or

    npm outdated
  2. Update all dependency version in package.json file

    npx npm-check-updates -u

    or

    npm update

Bun

Show outdated packages

bun outdated

Update all packages to the newest versions compatible with your ranges

bun update

Force-update to the absolute latest versions (ignores ranges)

bun update --latest

Add a dev dependency

bun add -d <pkg>

Remove a package

bun remove <pkg>

Remove a global package

bun remove -g <pkg>

List all installed packages (tree view)

bun pm ls

List all globally installed packages (tree view)

bun pm ls -g

View package info from registry

bun pm view <pkg>

Show package cache location

bun pm cache

Show global bin directory (where executables are linked)

bun pm bin

Check where global packages are stored

bun pm bin -g

Run a script defined in package.json

bun run <script>

Run a .ts, .js, .tsx, or .jsx file directly

bun <file.ts>

Run file with hot reload (auto-restart on save)

bun --hot <file.ts>

Run a package binary without installing (like npx)

bunx <pkg>

Run tests in watch mode

bun test -w

Run a specific test file

bun test path/to/test.spec.ts

List all installed packages (tree view)

bun pm ls

List all installed packages (tree view)

bun pm ls

Angular CLI

  1. Setup

    npm install -g @angular/cli
  2. New Application

    ng new <app-name>
  3. Lint for Formatting

    The Lint command fixes code smells and corrects improper formatting.

    ng lint my-app --fix

    This command shows warnings:

    ng lint my-app

    If you want to format the code, you can use the following command.

    ng lint my-app --format stylish
  4. Blueprints

    Generate spec:

    --spec

    Check whether the template will be a.ts file or not:

    --inline-template (-t)

    Check whether the style will be in the.ts file or not:

    --inline-style (-s)

    Create a directive:

    ng g d directive-name

    Create a pipeline:

    ng g p init-caps

    Create customer class in the models folder:

    ng g cl models/customer

    Creates a component without the need for the creation of a new folder.

    ng g c my-component --flat true

    Assign a prefix:

    --prefix

    Create an interface in the models folder:

    ng g i models/person

    Create an ENUM gender in the models folder:

    ng g e models/gender

    Create a service:

    ng g s <service-name>
  5. Building Serving

    Build an app to /dist folder:

    ng build

    Optimize and build an app without using unnecessary code:

    ng build --aot

    Create a build for production:

    ng build --prod

    Specify serve with opening a browser:

    ng serve -o

    Reload when changes occur:

    ng serve --live-reload

    Serve using SSL:

    ng serve -ssl
  6. Add New Capabilities

    Add angular material to project:

    ng add @angular/material

    Create a material navigation component:

    ng g @angular/material:material-nav --name nav

.NET Cli

  1. Show installed versions info

    dotnet --info
  2. Build Project

    dotnet build
  3. Run Project

    Will run the project

    dotnet run

    To get HMR and instant update of any code change

    dotnet watch
  4. Clean Project

    dotnet clean
  5. Build Release

    dotnet publish