Hi @eliasnogueira what’s going on in your assignment workflow? Do assignments2 and assignments3 merge back into the master branch at some point?
Honestly, I am working through this to prep using this for real. So, it has not really happened yet. I would have them merge back after they get a feature working.
I’m not teaching at this moment. I start in a few weeks and i have to convince the head teachers to star to use git hub
In the mean time I learning how to implement this in a class. So, I invented a thing to do this exercise:
This is an individual assignment.
Assignment consists to implement a console application in C#
Starter code will be provided by teacher (first commit)
Student can develop features with branchs (work for mandatory work) and improves for introducing additional features and merge to master to present the work.
Because my classroom work has us using the remote repo and I couldn’t get the visualization tool to hook up to that, my screen shot “isn’t much”. But here it is:
I did find out about request-pull, that’s an interesting command I will add to my repertoire and teaching information.
Basically, our flow is:
- checkout branch
- make changes and commit
- push to github
- pull-request and merge on github
- pull to master
- merge master to branch
repeat until project is done
From a given starting point, students develop serveral distinct features, which will be merged at the end.
Not sure if I understood the question, but I expect my students to fork my assignments repo, and work from their own forks. I also ask them to tag their releases (d1, d2, as seen in the picture).
I didn’t have a ready-to-go assignment to create here, so I made a demo assignment where students recreate T.S. Eliot’s “The Wasteland” using version control. Everything was merged back into master in the end, but these could just as easily have been left separate.
Like a number of others on this thread, I’m not sure of the best way to use git and github in the classroom and still figuring that out.
I do think https://git-school.github.io/visualizing-git is a fantastic tool for teaching branching, merging, and history rewrite dangers.
This is hypothetical, but I was thinking of asking students to make a branch for every exercise of an assignment. That way I can review their work by checking out their branches to see what they did for each exercise. Afterwards I might ask them to make some changes to some of the exercises.
There might have been an error with the visualization tool that’s been fixed? This is the result I get, I stopped when it became apparent my result isn’t what you got:
The first problem I spot when looking at the commands you issued is
git checkout newbranch. When you run that command, newbranch must already exist, iow, you need to run
git branch newbranch before that. If you want to both create and checkout a new branch, you can use
git checkout -b newbranch.
Give the exercise another try, remember to create branches before checking them out or using
git checkout -b branch-name.
It’s totally okay not being sure how to structure assignments for students, you can use the visualization tool to play around and test ideas.