Comments (4)
Probably needs a discussion and enhancement tag
from git-novice.
Yes! This is something I've been musing about for long now. These are my thoughts.
The current collaboration part of the lesson is built around making the other person a collaborator on GitHub. I think this is a good default:
- It's shorter and simpler than the PR route.
- It's better suited for a small team of researchers working in the same group or department.
- It's the only way to do it if you're taking the lesson by yourself, as you cannot fork your own repos. [1]
However, many of us teach the PR version that @chendaniely mentions. (I do it if I have time). The PR version allows the role-playing that many have reported successful and fun for the students [2].
My idea was to add a script (not the computer type, but the movie type) with the instructions each partners has to enter. I was thinking in using roles for this, so people choose one role (Dracula and Wolfman or whatever) and follow the script from there.
The script wouldn't be in the lesson as a topic, but as a separate material linked to the instructor guide. If the workshops teaches PRs, instructors just pull the script, distribute it to the learners, and choose roles for everyone (including themselves).
The advantages of this is that you are not tied to teaching PRs and can decide on the flight. The second advantage is that people (including the instructors) won't get lost. Without clear instructions, the room turns into a mess pretty quickly.
Regarding your particular set of instructions, I would mix the two roles more if possible, so nobody is waiting idle for long.
[1] You could send you a PR to yourself, but this requires different instructions.
[2] http://swcarpentry.github.io/git-novice/instructors.html
from git-novice.
I just saw the other issue that's related: #23
I'm not sure how people go about sending PR's to themselves. The last time I did that was with @iglpdc at the Harvard workshop, and it required a lot of "please don't type what i'm typing" because I was creating branches.
Adding people as collaborators may be better than PR's since that's probably the model many labs will be using, but the PR way is the 'open science' way. We can mention adding collaborators, and that will be the same as working on your own repository. By showing them PRs we expose them to something else.
This is one of those cases where just showing it to them once, will make things easier in the future. People will no doubt see the words origin
and upstream
when they start googling for help.
from git-novice.
For the UBC and SFU workshops, @ttimbers and I taught some extra lessons that could act as a capstone:
https://github.com/swcarpentry/git-novice/blob/55e99b82483b7dc0ecc08bb71635220ace47d73a/08-role-play.md
https://github.com/swcarpentry/git-novice/blob/55e99b82483b7dc0ecc08bb71635220ace47d73a/09-forking.md
The advantage of doing it this way is that you really see the problems with merging and collaborating in the same repo, and then you teach forking and have everyone submit PRs that show up like magic in the master repo! Ideally, we'd like that capstone repo to be something that the instructor makes to hold, say, the results of the earlier python/R/shell lessons.
from git-novice.
Related Issues (20)
- GH settings screen shot is out of date
- Is there a supplemental SSH episode?
- We contradict our own advice about forgetting about ssh keys HOT 1
- Suggest flipping order of git clone screenshots HOT 1
- Share what to do if you already have an ssh key HOT 2
- Episode time allotment is inaccurate HOT 4
- Note that there is no response when typing password/pass phrase/etc in your terminal HOT 1
- "AFK" may not be a recognizable term to everyone HOT 1
- README goes to the old lesson template
- Creating a new branch or renaming the default branch HOT 5
- Consider updating CONTRIBUTING to require forking regardless of privileges HOT 3
- Misleading Interplay between Episode 4 and 5 HOT 1
- file versions are not saved; changes to files are tracked/recorded HOT 5
- Add note about how rm from command line is irrecoverable HOT 2
- git config `core.autocrlf` option is incorrect
- Maintainer mismatch with website HOT 3
- Move SSH key creation (7.3) to Lesson 2 - Setting Up Git HOT 4
- Connect to preliminary material: Good Enough Practices HOT 4
- Do not mention branches while creating the first repository? HOT 1
- Broken reference in citation episode
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-novice.