Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What should an Intro to Git with <Language_X> accomplish? #38

Open
emgrasmeder opened this issue Sep 30, 2015 · 12 comments
Open

What should an Intro to Git with <Language_X> accomplish? #38

emgrasmeder opened this issue Sep 30, 2015 · 12 comments

Comments

@emgrasmeder
Copy link
Contributor

One of our suggested meetup types is an Intro to Git Talk. Especially as WWCDC looks to be git evangelists in the DC area & use git as a primary mode of organizing things, we're planning on having a git talk every week --- spread out across different meetups. (we can adjust frequency if we need to)

The initial purpose for Git 101 lectures was:
  1. to get more people giving a technical talk with a low barrier to entry.
  2. to allow us to use git as a standard means of sharing code
  3. to increase the number of events with a specific title/focus (these are less intimidating and get better show up numbers)

The question is what is the optimal scope?

I think points 1 & 3 are the natural consequence of a talk that accomplishes 2.

Let's compile a list of features that must be covered in our Git 101 lectures and go from there!

@emgrasmeder
Copy link
Contributor Author

For starters:
  1. What problem does git solve?
    • I like to talk about what it's like working on Microsoft Word documents + email. It quickly turns into 100+ versions of the same f'in document. Git solves this & maintains the history of the progress
  2. How will WWCDC members experience using git.
    • We'll frequently ask them to "clone a repo," refactor some aspect of the code, "commit it," and maybe "push the code on a new branch"

@tabithacherie
Copy link

Syntax/Abbreviations and words frequently used when talking about GIT ... I think this is useful as push, pull and fork are terms that are used in other places in different ways.

@emgrasmeder
Copy link
Contributor Author

Commands:

git init
git clone
git status
git diff
git add
git commit
git push
git log

As far as I know, any others will be quite less frequent: git remote add and stuff like that, things that I frequently have to look up.

@emgrasmeder
Copy link
Contributor Author

so!

Where to find answers when you're lost!

@tabithacherie
Copy link

I think http://nupurkapoor.github.io/intro-to-git/#/ is actually a good base, I just went through it but maybe add :

  1. Each group adds a couple slides for their own presentation or maybe just a demo with specifics to that language/group
  2. Where to find answers should be added -- also do we want to add a GIT channel on slack for if people have questions?

@emgrasmeder
Copy link
Contributor Author

Yeah, it should be a decent base, we just can then cater it to different groups. & we have a GitHub channel now!

@tabithacherie
Copy link

I think maybe we can add git push and fork to the vocabulary page though -- those are the words that tend to confuse me the most at least :p

@nupurkapoor
Copy link
Contributor

I can create a womenwhocode dc version of the ppt, and then each study group can basically extend/fork it as per their needs

@tabithacherie
Copy link

@nupurkapoor That sounds awesome. @emmagras When do we want to start trying to do intro to git nights?

@kdmcclin
Copy link
Member

kdmcclin commented Oct 9, 2015

How does git tend to differ for different languages, especially at a beginning/fundamental level? (that's an actual question I have)

Also (and I mentioned it in Slack, but to put it here for the record), visuals would be good. This is only one workflow visualized, and I'm not great at the design aspect of things, but something like this would be useful. I was playing around with draw.io because it seems to be free.
gitworkflow1

@emgrasmeder
Copy link
Contributor Author

@kdmcclin the difference for git in different languages should depend on what capacity the study groups can use git to their advantage.

For example, I think getting an entire Android project off the ground enough that you have something nontrivial that you can look at and interact with might be overwhelming. I'm imagining "let's learn how to add infinite scrolling to this template app" or "fix this app so the color scheme is managed in one place, rather than on every view." Without an existing app to clone, those lessons are unreachable for most people.

Ruby & front end folks probably want to know about github pages, Python I can only think of the stats packages I've used that other people have created. We can highlight the important packages, but it's also important for beginners to know how to structure their packages. Maybe ruby (rails/bootstrap?) does that for you, but w/ python you're gona need to make your own file hierarchy. Where do the test files go? Where do the data files or output go? When do I include an __init__.pyfile? That's how I'd focus a python talk, anyway.

I don't think there will be a big difference in talks, but if we have enough interest for people to be showing up so frequently, then it's probably worth splitting them up by preferred language, no?

@kdmcclin
Copy link
Member

I think that's the difference between git and GitHub. Git you can version control an empty text file if you want to, so the ideas of commit and status and pull and push and other basic keywords don't so much matter what language you're using. GitHub (or other online places, like heroku for things like Rails apps) is where it might be more useful to be technology specific. Though I've seen a GitHub and git workflow/forking exercise done with a text file where each successive person adds a * for each line (so line one has one, line two has two, and so on), and you watch and see it break down with merge conflicts and uneven stuff like this:
*
**


**


That was all text file though, or maybe markdown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants