The most popular version control program is called Git. Git keeps track of the changes you make to files so that you have a record of what has been done and may go back to particular versions if necessary. Git also facilitates cooperation by enabling the merging of several contributors' edits into a single repository.
Therefore, Git will be helpful for you whether you develop code that only you will view or work in a team.
Git Commands
git init -> Initializes git in any folder/repository (Needs only if you are not cloning a repository)
git clone -> https://github.com/<your-user-name>/<repo-name> -> Clones the repository in your local system.
git status -> Shows the current status of the repository.
git add <file-name> -> Adds specific file to staging area
git diff / git whatchanged -> Gives the recent changes in the repository
git add . -> Adds all changed files to staging area
git commit -m "<your-message>" -> Gives a message to your current files and takes their snapshot to commit history
git log -> Shows the commit history
git revert <commit-token> -> Discards the specific commit (Deletes the committed files but keeps a trace in history)
git reset --soft HEAD~<no-of-commits-to-revert> -> Undo's the commit and brings the changes back in the staging area
git restore --staged <file> -> Brings back the specific file in the changes made section which is added to the staging area.
git remote -v -> Shows all the remote connection
git remote add origin https://github.com/<your-user-name>/<repo-name> -> adds your forked branch as the origin (No need to do if the repo is cloned)
git remote add upstream https://github.com/<parent-user-name>/<repo-name> -> Adds parent repository as upstream.
git pull origin -> fetches the changes made in origin to your local system
git pull upstream -> fetches the changes made in origin to your local system
git branch <branch-name> -> Creates a branch with branch-name
git checkout <branch-name> -> This now allows you to make changes in the specified branch
git checkout -b <branch-name> -> This is combination of git branch and git checkout
git merge <branch-name> -> merges its children branch-name into its parent branch.
git branch -d <branch-name> -> Deletes the specified branch. And if the changes in the branch-name are not merged in the parent branch then the changes are deleted.
git push origin <branch-name> -> Pushes the recent commits to the new branch
I appreciate you reading thus far. You can view my Github. Good Bye.