Starting...
This lab is to help students to communicate with the owner in open source world to solve the conflicts of merging their branch to remote origin. So, following the instruction, I forked one repository that I chose and create an issue to add new feature of ignoring url patterns from a file.
git clone https://github.com/StellaJung-Student/project-checkurl.git
Progressing...
Actually, The main of my task is not about the implementation above. It is just helping another classmate to help his or her task complete. Of course I also have had the part from another student so I added his repository as another remote one.
My issue on my repository is issue-11 so I typed following command.
git checkout -b issue-11 pedro/issue-11
He did great for the task but I realized that he didn't modify readme for the feature of ignoring urls so I created issue-11-fix.
git pull pedro issue-11
git checkout -b issue-11-fix pedro/issue-11
Git is actually so great since it automatically provides notifications. Once I pushed my change with the command "git push original issue-11-fix", the partner's git repository had the notification below.
After my partner checked all of my change from issue-11-fix following the command of git below,
git remote add upstream <my git repo>
git fetch upstream
git checkout -b issue-11-fix upstream/issue-11-fix
git checkout issue-11
git merge issue-11-fix
I updated my repository from the fetch, git fetch. At that time, I didn't have to command as long as like git fetch <my partner git stream name> since I already did before. After I changed my branch to master, simply I merged with the command git merge <partner-name>/issue-11 and pushed the code to my repository and closed the issue.
Conclusion
To be honest, for me, understanding the concept of this git lab part was very difficult so I had to ask a lot of questions about this concept. Thankfully, in the slack, there are not only my professor also very helpful classmate, Tony, helping a lot of parts to be more cleared. As a result, now I have known how to use fetch, pull, push and communicate with other remote repository without PR, which is a great journey. I believe this way will be used for a developer having a trouble in fixing a bug or implementing some business logic. The reason I am thinking this way is that the owner, let say helper, created the issue-fix and tried to add something to be better and let the partner review the code and re-push the code to their repository and finally the owner fetched the repo and after making sure that everything looked good, the issue was closed by the owner.
P.S. fetch is very important to update and clone to your repository to the remote one.
Comments
Post a Comment