Week 7 More on Git & Project

Merging vs. Rebasing

During the lecture this Monday, we continued to lean about Git with a focus on merge vs. rebase and when to use each. From my understanding, merge creates a single commit record by combining the changes in two different branches, while rebase rewrites the commit history by creating new commits which results in a clean, linear project history. I’ve only used merge in the past, and imo I’d prefer using merge in the future as I’d like to preserve the complete history of the project. But it is good to know how the the rebase command as well since it might be useful in work.

I also learned about the commit object and the head pointer in Git from the lecture. Although I’ve been using Git for quite a while, I’ve never actually thought about how it works behind the scenes. For the first time I learned that commits are objects, and Git maintains a head pointer that points to the current branch. When you switch to a different branch, Git simply moves the pointer to that branch. This was all quite new to me and made me feel that I should read more about the design principles of Git in order to get more comfortable with the workflow.

Project

We had our first remote class via Zoom this Wednesday due to the COVID-19 coronavirus. I was kinda stressed about if Joanna would ask us to turn the camera on, but fortunately we did not have to (or everyone would see me in my pajama). I had the first meeting with my teammates, Nishant and Charles, to decide on the open source project that we would like to contribute to for the remaining of the semester. Two of us put Lemmy in the project preference form and two of us put Scrapy there so there was a tie, but we decided to look into Lemmy first. We created a Google doc so that we could work on the project evaluation of Lemmy collaboratively. Lemmy is written in Rust, a language that none of us really have any experience with, but we agreed that we could learn it for the project. The code of conduct file and the contributing instructions of the project looked quite good. We looked at the issues in the repository and found that there are issues labeled as good first issue, which is a good sign for beginners. I also noticed that the community is looking for help with translations, and I felt like I could make some contributions in this part. As for now, we are still working on the project evaluation of Lemmy, and I hope that we will be able to convince Joanna that it is a good project to work on when we return from the break.

Written before or on March 15, 2020