C,C++ Code Style Guide

This guide provides step-by-step instructions for setting up consistent formatting, rules checking, and documentation for C/C++ code using clang-format, clang-tidy, and Doxygen in VS Code. Follow this guide to ensure uniformity across the team. 1. Prerequisites Before starting, ensure you have the following tools installed: VS Code (latest version) Extensions for VS Code: C/C++ (Microsoft) Doxygen Documentation Generator Command-line tools: clang-format clang-tidy doxygen Python (for pre-commit hooks) 2. Auto-Formatting Using clang-format clang-format is used for consistent code formatting. ...

November 28, 2024 · 3 min

Git Undo Mistakes

Undo Mistakes 😱 git restore filename will discard uncommited change for this file cannot be undone afterward git restore -p filename p stands for patches will ask for each change in this file to be restore or not git restore . undo all changes since last commit git commit –ammend -m “Commit Message” change commit message of last commit do not change already pushed commit git revert <SHA> it reverts specified single commit <SHA> can be seen through git log, eg. 74e3b2b it makes new commit by exactly doing opposite changes, so it is very safe git reset –hard 74e3b2b it resets HEAD to certain commit in history while deleting all the commits after it if commits just local then they are gone forever git reset –mixed 74e3b2b same as previous one but it will store all the changes from the removed commits as uncommited changes git restore –source 74e3b2b filename will restore this file to certain commit (just 1 file) git reflog it is advance version of git log Restore after hard reset it even stores history for certain time after git reset --hard you can git reset 74e3b2b but creating mew branch is preferred by git branch branch_name 74e3b2b Restore after deleting entire branch look for <SHA> from git reflog then git branch branch_name 36a46a1 Moving commit to another branch if you want to move cirtain commits from current branch to new branch git branch new_branch_name git reset HEAD~1 --hard if moving commit to already present branch git checkout branch_name git cherry-pick 36a46a1 git checkout previous_branch_name git reset --hard HEAD~1 Interactive rebase is very advance, dangerous and powerful tool read comments during the process Change commit history for example if you want to change commit history upto 3 commits before current HEAD git rebase -i HEAD~3 you can change/reword commit messages, delete/drop commits, squash multiple commits together

March 24, 2021 · 2 min