Forking workflow is standard for open source projects but may be overkill for small closed-source projects. Discuss recommended workflows for closed source projects. Who should be the maintainer? Emphasize better that central workflow is also fine provided we use protected branches.
Idea by @Jyrsa: pair of pairs, first two pairs of two people start with the same basic repository with some existing files, both groups make concurrent changes, first by making well-contained small branches from master and then submit to each other for review and merging.
Then after the "clean" way has been done they can try doing any of a number of things that will cause merge conflicts and try to resolve them.
I know that popular support is to circumvent going in to details about upstream. But I felt during todays lecture if we explicitly address this rather than avoiding, learners would have a better understanding of the events.
Here participants don't have to prepare anything and it will test in the background, e.g. length of the tweet. With this people can discover Travis early in the course.
Consider adding the proper git command on the arrows. For example, when merging from hotfix to stable, and from stable to master. Also having the commands for tagging would be helfpul.
because the centralized-workflow-exercise depends on no one pushing too early. The shortest way to correct this should be documented so that any instructor can quickly do it
It seems that the type-along in 03-distributed doesn't need to be done in a group. In fact, while helping I was confused because it took some time for me to figure out why it said to break into groups... it was something in automated testing that did the mutual forking and accepting of PRs.
In branch design topic git bisect was mentioned in the beginning, but at this point git bisect was not introduced yet. In my opinion good to briefly tell what git bisect actually is.
for the reason that if someone shows up late then it's complicated to get them up to date (i.e. adding to the centralized-workflow-exercise). After lunch or starting mid-morning might be better
basically it describes the current state of the repo using the closest tag in history.
so assuming you tag meaningfully what you'd read from a git describe is:
closest tag followed by number of commits current revision has on top
followed by SHA1 of current commit (abbreviated by default)
optionally, if you're in a dirty state you can add a suffix with --dirty
(which by default add -dirty, but you can choose whatever).
This seems to be missing. This is probably the best place to put it, not git-intro.
By the way, mac laptops worked the same as linux - ssh-agent was automatically running and you could just ssh-keygen with password and ssh-add and it Just Works. Remind people to run ssh-add next time (unless it automatically adds these days).
I just did few tests on my hard drive with bare/nonbare and some of my assumptions about it were wrong. I need to test a bit more but possibly we can avoid that part all together. Opening this issue so that I won't forget.
04-collaborative could link to some real projects and use them as examples. Could be as simple as for each suggestion, linking to a thread demonstrating that. Or could make the section more example-based.
all participants need to be invited to the centralized-workflow-exercise, and it seems simpler to click "copy invite link" and paste it in the shared workshop document. the link is the same for all invited users and following it leads directly to an "accept this invitation" page
Central repo now takes more time, since we go in detail through PRs but the distributed section will now take a lot less time since many concepts are revisited.
Does the pro-tip in 03-distributed about separate push URLs need to be there? We don't use it anywhere, and it can probably be a bit confusing. (I've been confused by it when I didn't realize I had a separate push URL). But in at practical tips section it could be nice to mention as advanced material.
Related, does anyone use this often? I have once or twice, but I have a feeling that perhaps I should more often.
i think we used to have coderefinery/forking-workflow-exercise connected to Travis, so that we could see the red/green lights on the PRs. This was nice as it gave a hint of what was to come in the testing lesson. Probably we should add to instructor notes that the mirrored repo should be connected to travis
ensure the instructor or someone there has access to add collaborators to the CR centralized-workflow-exerciserepo. You can use a fork but people will use the wrong one (unless the instructions are updated) and it will be a big mess!
People really have to sit next to someone, so that they can see the screens. From the beginning.
Emphasize use of git graph a lot, just like in git-intro