Hi,
>>
>> 2. Duration of the workshop?
>>
>> Around Two hours?! - is it longish? The last hackathon of 1 hours seemed
>> too short to me!
>
> Two hours to learn the very very basics of git -- that makes sense to
> me. I suggest that one of us run through the proposed two-hour
> curriculum with a newbie, ahead of the workshop, and time how long it
> takes. This will also help find problems so we can fix them.
Duration is alright.
>
>> 3. What do we want to achieve in the workshop?
>>
>> i. Assuming participants are all beginners (we can ask for pre-registration
>> and take a poll at the beginning of the workshop to know their level of
>> understanding), we want them to have an idea what is a version control
>> system and how it can make your life easy when you are collaborating with
>> others to build something. - 5 minutes
One question which newbies usually ask: Why should we use version
control at all, specially for small projects?
+1
>
> In my experience, explaining version control, and specifically what's
> great about Git, takes more than five minutes. There is a very
> newbie-friendly explanation within this blog entry:
>
http://skud.dreamwidth.org/13354.html starting at "Large open source
> projects have developed a range of tools and techniques over the years".
+1
>
> I also like to use this analogy: centralized version control, like
> Subversion, makes it sort of hard to merge branches, so people end up
> working in trunk, so it's like dozens of chefs have to work together in
> one small kitchen. Git makes it like a "potluck" - make the food at
> home and then bring it to the party!
(You said it before I did :P ) The comparison between centralised
version control systems is essential to understand why git is useful.
>
>> ii. Have them set up their github account. - 15 minutes
I think we should give people a detailed pre-requisite list for joining
the workshop. Setting up Git and a Github account will be in that
pre-requisite. Otherwise participants might face issues when signing up
for Github and that would take away good amount of time from the
workshop. However, keep the 15minutes slot to help people who have tried
those steps but faced issues.
>> iii. Basic commands of git - init, add, commit, push, pull -
Add log, fetch and diff.
Fine, but let's not make it a Github oriented workshop. Make it a Git
workshop with ideas about how people can use Github.
So we would help them create a new repository with init. Then show add,
commit and log.
Next, show how to clone an existing repository from Github, switch to
feature branches make change and push upstream. Then show how to send a
pull request.
Creating a demo repo for the workshop is probably better. We can ask
participants to create a file with their own name and add it to the
repository for their pull requests.
>
>> iii. branching and merging is most probably covered in the above tutorial -
>> if not then we can have it. how to send patches.
Merging can be taught next, by having them pull upstream changes and
merge and push to origin. This will essentially give ideas of remote,
pull and merge.
>> iv. QnA - to clear any doubt - 20 minutes
>> v. If all of the above go smoothly, then we can think of doing some other
>> stuff - say stash, rebase.
Okay. Add GUI, if possible.
>
> Which operating systems would mentors feel comfortable working with? If
> everything's going to be within the GitHub web interface then it doesn't
> matter, but if we want people to actually install git on their machines
> and work on the command line, then that's going to take more time and
> more preparation. I personally can only help with Linux.
Let's not make it too much within Github. Having access to the terminal
and being able to use a text editor should be one of the pre-requisites.
However, if anyone needs help in using a text editor, we can surely help
on spot.
For GNU/Linux: use git + emacs/vi/nano
For Windows: use msysgit
>
>> 4. Promotion of the event
>> - a poster
Yes we need a poster +1
>> - a video (may be) - why should the college students learn about git?
>
> I am sure there are pre-existing videos and materials to link to --
> perhaps GitHub has made some.
Do we have enough time for creating a video? Otherwise, searching
existing ones seems a good idea.
>
>> 5. How to conduct the workshop?
>>
>> Of course over irc. But would it be nice if we have some basic repository
>> hosted at github, where we can allow the participants to send patches, push
>> their changes. We can have some basic html or somethings very easy and
>> simple (ideas anyone?) where people can contribute? Then it would really be
>> learning while doing and the participants would also feel that they have
>> done something.
Since it will be mostly hands-on, let's create an account for WFS-India
on GH and create an repo called "git-workshop" with only a README.
Also, how will the mentors and participants interact? I think all
mentors and participants should be in one room. Everyone will have a
topic list with them (which we can publish on the website), so that
everyone knows which topic will be next.
Cheers.
--
Kaustav Das Modak
Desinated Partner
CodeBinders Web Development Services LLP
Web:
http://www.codebinders.com
Blog:
http://kaustav.codebinders.com
Ph:
(+91) 9874456551