First and foremost we need to know what “git” is.
Git is a version control system that allows developers to track changes to their codebase and collaborate with others.
It is an essential tool for any developer, and it is worth taking the time to learn how to use it effectively.
Being able to use git effectively is a skill that every developer needs to have, regardless of the type of development they do.
Here are some basic concepts that you should understand before starting to use git:
- Repository: A repository is a collection of files and the complete history of those files. It is the place where you store your code and track changes to it.
- Commit: A commit is a snapshot of your repository at a specific point in time. When you make a commit, you are saving all of the changes that you have made to your code in one place.
- Branch: A branch is a separate line of development within a repository. By default, git repositories have a single branch called “master” or “main”. When you create a new branch, you are creating a copy of the repository at that point in time. This allows you to work on new features or fix bugs without affecting the main branch of the repository.
- Merge: A merge is the process of combining the changes from one branch into another branch. This is usually done when you have finished working on a feature or bug fix and want to incorporate your changes into the main branch of the repository.
Common git workflow
Now that you understand the basic concepts of git, let’s go over some common workflow patterns that you might use when working with git:
- Cloning a repository: To start working with a repository, you will first need to “clone” it to your local machine. This creates a copy of the repository on your computer, allowing you to make changes and commit them locally. To clone a repository, you will need to use the
git clonecommand, followed by the URL of the repository that you want to clone.
- Making changes: Once you have a local copy of the repository, you can start making changes to the code. You can edit files, add new files, and delete files as needed. When you are ready to save your changes, you will need to “commit” them to the repository.
- Committing changes: To commit your changes, you will need to use the
git commitcommand. This will open a text editor, where you can enter a message describing the changes that you have made. When you are finished, save the message and exit the text editor. Your changes will now be saved to your local repository.
- Pushing changes: Once you have committed your changes to your local repository, you will need to “push” them to the remote repository (i.e., the repository that you cloned from). To do this, you will use the
git pushcommand. This will upload your changes to the remote repository, where they can be reviewed and merged into the main branch by other members of the team.
- Creating a branch: If you want to work on a new feature or fix a bug without affecting the main branch of the repository, you can create a new branch. To create a new branch, you will use the
git branchcommand, followed by the name of the new branch. This will create a new branch based on the current state of the repository.
- Switching branches: Once you have created a new branch, you can switch to it using the
git checkoutcommand, followed by the name of the branch. This will change the files in your local repository to match the state of the branch that you are switching to. This is useful when you want to work on multiple features or fixes at the same time.
- Merging changes: Once you have finished working on a branch and you are ready to incorporate your changes into the main branch of the repository, you will need to “merge” your changes. To do this, you will need to switch to the main branch and use the
git mergecommand, followed by the name of the branch that you want to merge(the branch that you have been working on). This will apply the changes from your branch to the main branch.
If while merging your code you run into some conflicts, you can check this article that I wrote on How to merge code in git in 7 easy steps or How To Fix A Merge Conflict In 4 Steps.
That’s it! These are the basic concepts and workflow patterns that you need to know to use git effectively. Of course, there is much more to learn about git, but these basics should get you started.