Journal 48

 July 8 - July 14

Prior to this course, I had worked in GitHub a few times before with my teammates. We have done a couple of projects in there, so I am vaguely familiar with the basic commands and usages. This class, however, is showing me a much more in depth view of Git, along with how valuable it can be for software development. After working through lab 5 with the two repositories, it showed me how multiple developers can work on the same project without constantly overwriting each other's changes and breaking the code. Each of the two developers made separate modifications, committed them independently, and then used Git to merge the code together. This showed how Git retains a complete history of changes and allows developers to work in parallel to make it easier to collaborate on large scale projects. If something does go wrong, Git has a function to review previous commits or even to restore an earlier version of the code to backtrack to when it was working.

In contrast, I can also see that Git merge cannot solve all collaboration issues. If two developers make conflicting changes to the same section of a file, Git cannot automatically determine with version is correct. Even when a merge succeeds, the combined code may still contain logical errors if the developers implemented features that do not work well together. All of the developers must communicate with one another, review each other's code, maintain consistent variable and function naming practices, and thoroughly test the merged application to ensure everything functions correctly. 

To apply this to my own studies and goals, although Git is more commonly associated with software engineering, I can also see how it would be useful in a career in data science. Data scientists often work together on Python scripts, SQL queries, machine learning models, and data processing pipelines. Git would allow an analytics team to experiment with different models on separate branches while maintaining a reliable history of changes. However, Git alone cannot determine which statistical model or analytical approach is better, so collaboration, code reviews, and validation results are still essential. This week's lab helped me appreciate that Git is a powerful and useful tool for managing code and collaboration, but successful teamwork still depends on communication and careful testing.

Comments

Popular Posts