rough plan for git workshop

18 views
Skip to first unread message

Satabdi Das

unread,
May 31, 2013, 7:49:23 AM5/31/13
to wfs-...@googlegroups.com, wfs-...@wfs-india.org
Hi,

The following things are coming to my mind. Please share your feedback/suggestion on them -  

1. What is our goal? Why are we doing this workshop?

git is widely used in FOSS world and even in some of the private companies. Hence basic knowledge of it is a plus. It is a great version control system which can help the participants manage their own code base smoothly and run their own projects in college. 

2. Duration of the workshop?

Around Two hours?! - is it longish? The last hackathon  of 1 hours seemed too short to me!

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
ii. Have them set up their github account. - 15 minutes
iii. Basic commands of git - init, add, commit, push, pull - try.github.io is pretty good in this regard. - 30 minutes
iii. branching and merging is most probably covered in the above tutorial - if not then we can have it.  how to send patches.
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.

4. Promotion of the event 
  - a poster
  - a video (may be) - why should the college students learn about git? 

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.

Awaiting your feedbacks,

Satabdi

-- 
Whatever you do may seem insignificant to you, but it is most important that you do it.

anu nivas

unread,
May 31, 2013, 8:19:41 AM5/31/13
to Satabdi Das, wfs-...@googlegroups.com, wfs-...@wfs-india.org
Would it be worth to have a buzzer round style quiz towards the end?


--
You received this message because you are subscribed to the Google Groups "wfs-india" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wfs-india+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Anupama
www.udproducts.in

Satabdi Das

unread,
May 31, 2013, 9:26:43 AM5/31/13
to anu nivas, wfs-...@googlegroups.com, wfs-india
On Fri, May 31, 2013 at 5:49 PM, anu nivas <anupama.2...@gmail.com> wrote:
Would it be worth to have a buzzer round style quiz towards the end?


How to do that over irc?  

Sumana Harihareswara

unread,
May 31, 2013, 9:29:16 AM5/31/13
to Satabdi Das, wfs-...@googlegroups.com, wfs-...@wfs-india.org
On 05/31/2013 07:49 AM, Satabdi Das wrote:
> Hi,
>
> The following things are coming to my mind. Please share your
> feedback/suggestion on them -
>
> 1. What is our goal? Why are we doing this workshop?
>
> git is widely used in FOSS world and even in some of the private companies.
> Hence basic knowledge of it is a plus. It is a great version control system
> which can help the participants manage their own code base smoothly and run
> their own projects in college.
>
> 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.

> 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

As http://software-carpentry.org/blog/2013/05/where-we-are.html points
out, "if we give them any kind of proficiency test, it scares away the
ones with weaker skills who need us most." So I agree that it's best to
do the poll *at the beginning of the session* and not ahead of time.

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".

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!

> ii. Have them set up their github account. - 15 minutes
> iii. Basic commands of git - init, add, commit, push, pull -
> try.github.iois pretty good in this regard. - 30 minutes

I didn't know about try.github.io . http://openhatch.org/missions/git
is also good.

> iii. branching and merging is most probably covered in the above tutorial -
> if not then we can have it. how to send patches.
> 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.

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.

> 4. Promotion of the event
> - a poster
> - 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.

> 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.

I'm nearly certain something already exists that we can use.
CodeAcademy, GitHub, OpenHatch, Software Carpentry, or some other site
probably has something.

> Awaiting your feedbacks,
>
> Satabdi

Thanks for the outline! Hope I have helped.


--
Sumana Harihareswara
Engineering Community Manager
Wikimedia Foundation

Aruna S

unread,
May 31, 2013, 9:40:44 AM5/31/13
to Satabdi Das, wfs-...@googlegroups.com, wfs-...@wfs-india.org
The following things are coming to my mind. Please share your feedback/suggestion on them -  

1. What is our goal? Why are we doing this workshop?

git is widely used in FOSS world and even in some of the private companies. Hence basic knowledge of it is a plus. It is a great version control system which can help the participants manage their own code base smoothly and run their own projects in college. 

2. Duration of the workshop?

Around Two hours?! - is it longish? The last hackathon  of 1 hours seemed too short to me!

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
ii. Have them set up their github account. - 15 minutes
iii. Basic commands of git - init, add, commit, push, pull - try.github.io is pretty good in this regard. - 30 minutes
iii. branching and merging is most probably covered in the above tutorial - if not then we can have it.  how to send patches.
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.

I can help in preparing a basic pdf of the most important commands. (From proGit (Git - Book) )
This will help the participants later, when they try to use git a few weeks/months after the workshop, just in case they have forgotten what we did in the workshop.


4. Promotion of the event 
  - a poster
  - a video (may be) - why should the college students learn about git? 

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.

We can split the participants among different mentors if this is possible. This will reduce cross posting and ease the confusion I think. :)
starting with documentation is easier I think. Very basic xml stuff with pre-available templates. I am working on Mallard for GNOME help, and the templates are pretty easy to pick up. Anything easier is also welcome. (Mallard - Mallard 1.0 DRAFT )

Warmly,
Aruna

Tarashish

unread,
May 31, 2013, 10:09:38 AM5/31/13
to wfs-...@googlegroups.com, wfs-...@wfs-india.org
My 2 cents:

1. For windows set up we can use http://openhatch.org/missions/windows-setup
2. For the content of the github repository, I think it's better to use just a plain text file instead of html. Because there is no guarantee that everybody participating in the event would know html.
3. I think it is better if we cover the basics only and don't overload people with lots of new stuff in just 2 hours.
4. We should make it interactive. Have a repo and ask people to send pull requests to it and so on.

Kaustav Das Modak

unread,
May 31, 2013, 12:12:17 PM5/31/13
to wfs-...@googlegroups.com
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?

>
> As http://software-carpentry.org/blog/2013/05/where-we-are.html points
> out, "if we give them any kind of proficiency test, it scares away the
> ones with weaker skills who need us most." So I agree that it's best to
> do the poll *at the beginning of the session* and not ahead of time.

+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.

>> try.github.iois pretty good in this regard. - 30 minutes
>
> I didn't know about try.github.io . http://openhatch.org/missions/git
> is also good.

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

Satabdi Das

unread,
Jun 1, 2013, 5:59:44 AM6/1/13
to Aruna S, wfs-...@googlegroups.com, wfs-india

I can help in preparing a basic pdf of the most important commands. (From proGit (Git - Book) )
This will help the participants later, when they try to use git a few weeks/months after the workshop, just in case they have forgotten what we did in the workshop.

Have a look at this - http://zrusin.blogspot.in/2007/09/git-cheat-sheet.html If you think it's not up to the mark, then feel free to make a pdf. 

We can split the participants among different mentors if this is possible. This will reduce cross posting and ease the confusion I think. :)
 
+1. Hence we need a group of mentors. Will you be interested? Also, those who would like to mentor the participants in the git workshop, please let us know. So that we can plan ahead how we will go on in the workshop.

starting with documentation is easier I think. Very basic xml stuff with pre-available templates. I am working on Mallard for GNOME help, and the templates are pretty easy to pick up. Anything easier is also welcome. (Mallard - Mallard 1.0 DRAFT )


Lets decide this on the upcoming meeting. 

Satabdi

Satabdi Das

unread,
Jun 1, 2013, 6:24:36 AM6/1/13
to Kaustav Das Modak, wfs-...@googlegroups.com


One question which newbies usually ask: Why should we use version control at all, specially for small projects?

Valid question and we should be ready with the answer. In fact we should include the first part of question in our promotion. 



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.

Since we are aiming it to be a workshop for the beginners, we can list these as good-to-have. But I think 15 minutes will be enough to set up git and github if we have multiple mentors. 


iii. Basic commands of git - init, add, commit, push, pull -

Add log, fetch and diff.
+1

Fine, but let's not make it a Github oriented workshop. Make it a Git workshop with ideas about how people can use Github.

Agree.
 
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.

We need to decide what are we going to have in the repository. Lets talk about it on the 3rd June meeting.


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

Assuming, a few will come from windows background, we need a couple of mentors for Windows. 

Do we have enough time for creating a video? Otherwise, searching existing ones seems a good idea.

+1 

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.


+1

Sumana Harihareswara

unread,
Jun 1, 2013, 7:01:05 AM6/1/13
to Satabdi Das, Aruna S, wfs-...@googlegroups.com, wfs-india
On 06/01/2013 05:59 AM, Satabdi Das wrote:

> +1. Hence we need a group of mentors. Will you be interested? Also, those
> who would like to mentor the participants in the git workshop, please let
> us know. So that we can plan ahead how we will go on in the workshop.

I'm happy to help.

By the way, there are so many pre-existing Git tutorials, cheat sheets,
etc. out there already that I very strongly recommend we just use
something that already exists instead of ANY of us spending ANY time
writing one.
Reply all
Reply to author
Forward
0 new messages