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

add beginner friendly resource for learning how to PR #6332

Merged
merged 1 commit into from
Mar 24, 2016

Conversation

kentcdodds
Copy link

Thought about adding this when @gaearon tweeted this. I definitely think that adding this will make contributing more approachable for beginners.

Also considered adding this to the README.md

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)

PRs Welcome

and I'd be happy to do that if there's interest.

@@ -30,6 +30,8 @@ Just make sure to run the whole test suite before submitting a pull request!

### Pull Requests

**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full disclosure. The resource itself is absolutely free and always will be. However I do make money when people watch it. Thought it appropriate to call that out.

@jimfb
Copy link
Contributor

jimfb commented Mar 24, 2016

Conceptually, I think it's great to document the React contribution process!

I have a few concerns with the specifics; the biggest concern is that the content is not tailored to how we do things in the React repository. For instance, the flow you describe in how-top-update-a-pull-request is counterproductive for users because it discusses/demonstrates things that really don't apply to our repository (git hooks, will confuse the user who would now be expecting them) and does NOT demonstrate the most important thing for updating a React pull request (git commit --amend and git push -f) because we request that all PRs be squashed into a single commit and that's what generally trips people up when updating their PRs. There are a bunch of confusing discrepancies like this throughout the lesson plan. It is useful as a general-purpose lesson plan for beginners, but isn't particularly useful to anyone submitting a change for the React core (core-contributors generally already know how github works, and are looking for the info that is React-specific).

@kentcdodds
Copy link
Author

Great. I'm glad you want to chat about this :-)

In the series I mention that some repositories have git hooks, while many don't. I don't personally believe the fact that React has no git hooks will surprise anyone.

I do demonstrate how to squash commits which could be used to clean things up after iterrations have been had on the PR. However, I know that a common workflow is to --amend the single PR commit, so I have another lesson coming out soon about how to do that.

In the series I also explain what altering git history means and why you have to force push when you do that (and how to do it with git push -f).

@zpao
Copy link
Member

zpao commented Mar 24, 2016

I think this is fine and definitely better than nothing. We can always change it if we feel like we need more or different content. Many people have made PRs before so they are probably not going to go through the course. And as we know, very few people actually load contributing docs anyway. For those that do and that decide to watch, nothing learned in the course will be wrong per se (even if it doesn't necessarily apply) and will only help people in their future uses of git & github.

@zpao zpao merged commit 9358ce3 into facebook:master Mar 24, 2016
@kentcdodds
Copy link
Author

will only help people in their future uses of git & github.

That's the goal 👍

I think that there's definitely some room for someone to make content specific for the React project. I created several raw screencasts for one of my other projects with stuff like: How to setup the project, how to run the tests, how the project is organized, etc.

Perhaps I could do a tech chat with someone from the core team to explore the codebase a little bit. @gaearon will probably remember this tech chat I had with him a while ago. Basically a tech chat is a hangout on air where I ask questions about something specific. This is live streamed and goes to YouTube automatically.

If I could get even just 15-30 minutes of someone's time, I think we could do a quick run through the codebase and talk about how to contribute to the repository, then link to that in the CONTRIBUTING.md file. Thoughts 💭?

@kentcdodds kentcdodds deleted the pr/beginner-friendly branch March 24, 2016 23:15
@sophiebits
Copy link
Collaborator

Squash-and-merge removes most of the need for telling people to amend, as long as they don't end up in an overcomplicated rebase.

I could run through the codebase and contributing on video a few weeks from now @kentcdodds – email me to set up a time?

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

Successfully merging this pull request may close these issues.

5 participants