Version control
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web-sites, or other collections of information. Version control is a component of software configuration management.
— Wikipedia
My primary version control system is Git.
Version control system track changes over the files and allow recalling a specific version of a file.
Modern developer tools can use multiple version control systems at the same time. For example GIT and vim’s built-in undo system (can be extended with undotree plugin).
I also use cloud based VCS services like GitHub and GitLab to store my source code, build artifacts and other files.
Learning path
-
submit patches in right way.
-
Resolving a merge conflict using the command line - GitHub Docs
-
git bisect
-
Evans How Git Works
-
GitHub - conventional-commits/conventionalcommits.org: The conventional commits specification
-
The ULTIMATE Git workflow using Neovim’s Fugitive, Telescope & Git-Signs!
-
arslanbilal/git-cheat-sheet: :octocat: git and git flow cheat sheet
-
git index - Git - Difference Between ‘assume-unchanged’ and ‘skip-worktree’ - Stack Overflow
-
bennadel/git-cheat-sheet: A small git cheat sheet of common use-cases for my future self.
-
github - How to remove file from Git history? - Stack Overflow
-
git filter-repo --invert-paths --path <path to the file or directory>