Week 4 : Git and OSS Projects
I have been using git for a long time, but I was surprised to learn what is the proper way of using git. I was mostly familiar with the 3 most commonly used commands of add ., commit -m "", and push. In class we learned that relying too much on add . command is not conventional and often disliked by people, as this could lead to adding files you don’t want to be tracked ending up being tracked and becoming a hassle to remove later. I have experienced this first hand today where I unzipped a large file inside the git repo but before checking the size I added all, committed and when trying to push it failed. Getting back to untracking the files and resetting without losing my changes took a lot of time, which could have been easily avoided if I added the files I needed manually and not used the add . command.
We have also learned about the git init command which had the most impact on me. Personally when I am working on a project I end up first making the git repo and cloning it or if I make a mistake I reclone the repo into a new location. This seemed like a hassle to me but it let me get by as I mostly worked on private repos, but learning about git init significantly improved my workflow where I no longer have to do that.
Comments on project evaluation
Based on the Project Evaluation I have seen a wide range of projects ranging from quantum computing to javascript libraries. These selection of projects in my opinion covers a wide range of topics which is good for our upcoming project. The maintenance of the selected projects mostly seemed very organized and mostly beginner friendly.
I have personally found jellyfin to be the most exciting project to work on. This is mostly because I self-host this in my home server and have been tinkering with it for a while. I love this software and want to contribute to its development in a way of giving back.
The biggest challenge would be getting familiar with the codebase of jellyfin in a short amount of time. I would be curious to hear you guys thoughts on how to pick up a project structure and get familiar with a code base fast, feel free to email me kazi.h@nyu.edu. Currently I am planning to overcome this by getting my hands on not only reading the code but also writing out smaller functions to check how everything interacts together.