# Week 1: Starting the internship!

This week as an Outreachy intern was mostly about setting up and clarifying some project concepts.

### Blog

One of my first tasks consists on preparing this blog where I will share some internship experiences.

Following my mentor’s advice, I used Gitlab Pages. Here, you can publish static websites using a bundle template, either copying an existing example or creating one from scratch.

First, I tried with a bundle template based on Hugo, but I ran into some trouble publishing test posts and also some deprecated code warnings appearing in my local server that I couldn’t fix, so finally I downloaded another example based on the same template that worked. After some customization my blog was online. Great!

### Git project

Then I dove into my Git project.

The project consists in finishing some other previous Outreachy interns work on git bisect command. As there were different branches and tags of their previous project, some research was done in order to fetch the last changes to start from that point.

I also created a project on Gitlab to push all my changes. I had some trouble trying to sync my gitlab remote master branch with Git’s remote master but all was solved mirroring Git’s branches with Gitlab mirroring feature.

This week I also learned some advanced git commands. Previously, I had used a few basic commands and only done simple things with git. But as I had to work on other people’s branches, the work had to be integrated with last Git project changes. I applied git rebase, a tool to integrate one branch into another. In this case, I wanted to put these changes on top of master branch. After the rebase command was done, project did not compile, so I had to add some changes to fix it. I have learned another commands like git reflog and git reset that are useful, for example, if you are not happy with your rebase and you want to recover to your initial state.

Now after this first rebase, some other rebasing must be done in order organize things: some commits need to be splitted, some need to be squashed. For all these tasks I will use the interactive parameter of git rebase command. This has a suite of options to achieve my next objective.

Also, my mentor identified a bug fix from previous intern work that was interesting to apply as soon as possible, so I have already sent a patch file (a text file with a list of differences between the two versions and some other metadata), to Git mailing list. That is the way changes are approved by the community and applied in the project.

See you next week, with more updates of my work.