Bitbucket (bitbucket.org) is a Git solution provided by Atlassian. Bitbucket provide a Git-based repository solution with tight integration to JIRA and Confluence.

The tool exists in two configurations:

  • Bitbucket in the Cloud - hosted by Atlassian
  • Bitbucket hosted on your own server

Use of Bitbucket in courses at NTNU

The following courses in NTNU are currently using/are planning to start using the Bitbucket solution:

Licensing

The "host your own server" version is free for qualified open source projects, nonprofits, and classrooms. You will then have to administrate the server your self off course (updates, backups, setting up users etc.)

The cloud based solution is free for small teams up to 5 members (for everyone).

For academia, the following goes (quote from https://www.atlassian.com/software/bitbucket/pricing?tab=host-in-the-cloud):

"When you sign up with your academic email address, we will automatically convert your account to an unlimited academic plan. If your account doesn't automatically get converted, you can apply to have your institution added."

Students should sign up with their ntnu email address.  If you want smart commits between JIRA and Bitbucket the email needs to be the same as it uses email as an identifier.

How to use Bitbucket in courses

To uses Bitbucket in courses where students either work individually, or in teams, to set up repositories for each student/student team, do the following:

  1. The student(s) create(s) a user in Bitbucket using his academic e-mail (@ntnu.no). He/she will then be granted the academic plan automatically.
  2. The student then creates a repository for his project/assignment and invites his team-members to join
  3. The owner of the repository invites the teacher(s) to join

< Q: Simon J R McCallum - do you have any suggestions to how to manage all the repositories created for a given course in a practical way? Using Teams? Other mechanisms ?>

  • We currently use a naming convention for the bachelor projects to add the date in the front. We also have a few teams to make it easier to add students and have just started using the new Projects system

< Q: Øivind Kolloen - On the gathering in Trondheim 3rd of May you mentioned that you used Forking of repository when using Bitbucket in student projects. Can you write a few lines describing how you use this, and why?>    

  • When I set up the repository as a private repository and only allow private forks then I can be sure that the repositories forked from this repository remains private. This prevents the students to access each others repositories and to copy code from each other (at least from the repos.) Furthermore, since now all projects are forks of my initial project I have easy access to them through the list of forks in the original repository.
  • If you run the course for multiple years then it is a good idea to create a new repository as the old forks from the previous year will still be on the fork list.

Git information tools

We are using gitinspector to assess some of the usage of the repositories.  We will be producing a tech paper on the use of the tool in exams and courses in 2017

Online Resources

NOTE - This page is still UNDER CONSTRUCTION !!

Please feel free to contribute (smile) - (BR Arne Styve)

  • No labels

4 Comments

  1. Hi All.

    Any recommended good resources for Git to be used by the students like an easy-to-lookup kind of thing? I'm thinking of a sort of overview that explain in detail how to:

    • Clone a repository
    • Create a branch
    • Merger anches
    • Dealing with merge-conflicts in a safe way
    • Performing pull-requests
    • The Git-flow workflow
    • etc

    ..that covers both the command line way of doing it, and using Sourcetree ?

  2. Unknown User (erikhje)

    In OOprog campus Gjøvik, FrodeH has created this as a summary for students:

    http://www.ansatt.hig.no/frodeh/ooprog/prosjekt/BasicUseOfGitAndBitbucket.pdf

    1. Unknown User (gist)

      The link does not work anymore. Any updated link(s)?