CST 438 Software Engineering - Week 3
Describe what are the good points about using Git for source code management. What are possible problems that Git merge does not solve when merging code from different developers?
Even though this week has been surprisingly challenging for me, managing internship + family + school, I am happy that we got into the actual project, which really relates on how things work at work. We have 2 week sprints, and after those two weeks, we go into planning, which usually takes all day. We use GitLab instead of GitHub, but they are both very similar, just a few differences. For instance, GitHub uses pull requests, but GitLab uses merge requests, which are basically the same thing. I am so glad this class is so focused on real industry work because all the content so far applies to my internship.
I think Git is so important because it helps developers try different versions of the code, while giving them the ability to roll back to earlier commits if needed. For example, I work in a program that shares a baseline framework with another two programs, and I was improving the way the swagger gets displayed and I utilized application.properties to add multiple profiles getting rendered, while it worked for our program, it didn't work for the other two, so that means I broke their swagger. One of the senior's response to my mistake was: no worries, that is why we have Git, to be able to see our oldest versions and implement features that might or might not be needed. So Git really helps to visualize all the changes we make, and at the end of the day, it improves efficiency.
One of the problems that Git has is definitely the conflicts when other developers are working on the same feature or on the same line of code, because when both get commited, the second one tends to have merge conflicts. Luckily, Git shows you that, so you can make decisions like Dr. Wisneski was showing in the lecture.