Institute of Computer Science
  1. Courses
  2. 2018/19 spring
  3. Collaboration Tools in Software Engineering (LTAT.05.009)
ET
Log in

Collaboration Tools in Software Engineering 2018/19 spring

  • Main
  • Lessons
  • Resources

Practice 6: Project collaboration in GitHub

By the end of this practice, you will know how to use GitHub to:

  1. Create, assign and close issues
  2. Create, review, close pull requests
  3. Organise issues into project boards
  4. Create wiki pages

Project collaboration

This time you will all be working on the same repository again. Clone the repository and get familiar with it. What files are there? What isues are there? What branches are there?

Documentation

Go to the wiki page of the repository and create a new page for yourself. Edit the wiki home page and add the link to your page under the list of other pages.

Picking an issue

Pick one issue from the issue list. Make sure that it is not assigned to anyone and then assign it to yourself. All issues have you make a small change in the code. No previous knowledge of coding is required, most issues describe the exact change you have to make.

Go to the project board of the repository and add the card for the issue you're working on to the "In progress" column. Whenever the status of your issue is updated, move the card to the appropriate column.

Write about the issue you picked on your wiki page. What is the ID and title of your issue?

Fixing the issue

Move your card to the "in progress" column.

Create a separate branch for your fix. Do the changes required by your issue and commit them to that branch.

Write about the solution on your wiki page. What change was required of you and how did you do it?

Opening a pull request

Push your branch to the repository.(NB! If you don't have access to push to the repository, check your e-mail for an invitation. If it still doesn't work, ask the instructor to give you access). Remember, when pushing a new branch to a remote repository, you need to specify exactly what remote and what branch you want to push to (for example, if my branch is "branch-3" and my remote is "origin", I need to run git push origin branch-3).

Go to the GitHub page of the repository and open a new pull request for your branch. In the description of the pull request, write the syntax that would automatically close the issue that you are working on when the pull request is approved. For example, if the ID of my issue is 123, I would write "Closes #123".

Assign one of your classmates or the instructor (@Stopa) to review your pull request. The reviewer will receive a notification on their GitHub account, but it's better to inform them directly and ask them to review your branch.

Move the card of your issue into the "done" column in the project board.

Add a link to your pull request on your wiki page. Write who you assigned as a reviewer.

Code review

When someone assigns you as the reviewer of their pull request. If everything seems OK, Close and merge the pull request, otherwise request changes.

Write about the review on your wiki page. What issue were you asked to review? What changes did the author do? Was it OK or did you ask for changes?

Finishing touches

Create a new issue for the instructor to review your work. Add the link to your wiki page in the description. Label it as "help wanted" and assign it to the instructor (@Stopa).

This time, there is no need to send the link to the repository to the instructor. Just make sure your changes are pushed to the repository.

Don't forget to fill the Quiz!

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment