Third week of Internship: Reflection
Aug. 29, 2023 · 4 min readThis week has been full of learning for me. I’m excited to share that I’ve better-understood shell commands and Git configurations. My co-intern and I have also dug into the fst-admin-ticket-system application. This has been an excellent opportunity for us to practice our code reading skills and gain a deeper understanding of the projects we’ll be working on.
Third Week Reflection:
Day 1: Article Collaboration
Today, our mentor gave us an exciting challenge - we interns had to collaborate and create an article together. We decided to write about our IT journey, which was a great experience. We talked about why we chose this course, our school experiences, and our first time getting exposed to programming. It was fascinating to hear everyone’s stories and how we all ended up here as interns in this company.
The main objective is to show how to work together using Git in one file and one branch. This activity will help us understand how the system works, and we will be able to foresee what happens if conflicts occur while committing changes. It’s exciting to work with my fellow interns and learn more about Git in the process.
Day 2: Navigating the Git Landscape: Embracing Terminal-based Version Control
I was recently introduced to managing version control systems like Git via the terminal, and it has been quite an adjustment for me. Most of my school projects were completed using a GUI, so adapting to the new commands and processes has proven to be quite challenging. Nevertheless, I’m excited about gradually becoming more comfortable with it over time. This week, I’ve learned and successfully executed several commands:
-
git checkout
is a command within the Git version control system that enables users to switch between different branches or versions of a repository. With git checkout, one can effortlessly create and navigate branches, reset changes, and even retrieve files from other branches. This tool proves exceptionally powerful for managing code changes and ensuring repository organization and currency. -
git reset
is another valuable command in Git that empowers users to undo repository changes, reset files to previous states, and effectively manage code alterations. -
git stash
allows users to save work changes without committing them, permitting easy switching between features or branches and applying changes at a later time. This eliminates the need for copying and pasting code to save changes from a specific branch. -
git diff
is a command in Git version control that showcases differences between two commits, branches, or files. It vividly presents code changes made since the last commit or differences between branches. The visual display of ‘+’ and ‘-‘ symbols, alongside line numbers, makes it straightforward to identify newly added or removed lines of code.
Lastly, our mentor also showed us that logical operators work when executing Git commands as long as the argument is satisfied. For example, employing the “&&” operator permits the simultaneous execution of both command1 and command2.
git fetch --all && git pull
This approach enhances efficiency and time savings when executing such commands.
Day 3: Exploring Git Commands and Conflict Resolution
After completing the collaborative article we interns created, we explored and tested the commands our mentor demonstrated to us yesterday using the article collaboration file. Today, we had the opportunity to understand what unfolds when conflicts arise while committing changes to the same branch and file. Interestingly, we found that VScode offers various options when conflicts emerge after retrieving new data using ‘git pull.’ These options include ‘Accept current changes,’ ‘Accept incoming changes,’ ‘Accept Both changes,’ and ‘Compare both.’ Furthermore, we delved into the implementation of ‘stashing’ as well. Our hands-on experiences with Git have significantly expanded our understanding of the platform. With newfound confidence, we now approach collaboration with a deeper understanding of navigating potential challenges and conflicts that may arise during development. Our collective journey in mastering Git continues, and we eagerly anticipate the further growth and insights this learning adventure will bring.