As developers, we break and fix code all day. But there might be a time when you completely mess your code up. That's when a VCS (Version Control System) comes in handy. A VCS keeps track of all the changes you make to your code, as long as you are committing often. The most popular VCS we use is Git. So if you get to a point where you can't save your code, you can use your VCS and revert back to any past commit.
A git workflow I really like is the Feature Branch Workflow. The idea behind this workflow is that each feature development will be done on dedicated branches. This allows each developer to work on their own feature without worrying about other developers or disturbing the main branch.
Another advantage of this workflow is being able to utilize pull requests. To merge your branch to the main branch, you initiate a pull request. This allows other developers to look over your code, discuss, even ask you to make changes and then finally sign-off that it's ready to be merged to the main branch.
With this workflow, you will be making a branch for every feature you are developing. Then when you complete the feature, you will submit a pull request to have it added to the main branch. This might seem tedious, why not just have your own dedicated branch where you work on different features? Performing pull requests and merging each feature will make it easier to review code and resolve merge conflicts as there won't be hundreds of lines of code to sort through. Here's how this workflow will look.
you want to make sure you have the latest code to create your branch.
git checkout main git pull origin git reset --hard origin/main
This switches your local repo to the main branch, pulls the latest code from origin, then resets the HEAD of your local copy to match origins.
create a new branch for the feature you are building.
git checkout -b login-page
This creates a branch called login-page and switches you to it at the same time.
push your new branch to your remote repository so you will have a backup and if you are collaborating, other devs will have access to your changes.
git push -u origin login-page
The -u flag sets this branch as your remote tracking branch. Meaning you can just type git push to push up your changes.
you work, remember to commit often so you can revert back if needed.
git status git add . git commit -m "descriptive commit message" git push
I really like this workflow because it keeps the main branch clean. If you aren't using a git workflow with your team I recommend trying this out as it will help prevent/minimize the git issues we all run into. Happy coding!