I am just starting to learn GIT when I should have learned it a long time ago. I have been a web developer for 25 years and rarely work with teams. However, I am learning GIT but they don't answer all of my questions.
Hypothetical situation:
My remote master contains version 1 of a deployable program written in Python. I decide to create a branch to work on a new feature.
There is another developer working on a separate branch called "Bug Fix". I create a new branch called "New Feature" and start writing the code for it.
I have the following questions:
- How would I go about testing the new feature before I merge it to the master branch?
- What if the person who is working on the "Bug fix" merges with the master and their code prevents my new feature from working properly?
- How does the other person working on the "Bug Fix" test their code with or without my "New Feature"?
- How would this work. When I am finished writing my code, would I pull the master branch code down in order to test it at that point in time or what?
If someone could give me a hypothetical answer to this, it would really be helpful. I have never worked on a team and this is why I don't understand how it works.
Also, maybe you know of some resources where I can understand this more clearly?
I just don't understand the theoretical workflow of a VCS.
Thanks in advance, Matt