RE: Published Content

Mike, I was in your position a while back. Git has a lot of differences from SVN. I hated it at first, but it’s grown on me now. :slight_smile:

I’ll provide you with a list of things I WISH I knew back when I was trying to figure out how the heck to do a pull request for the first time. The rest, I’ll defer to the many how-to guides on Git that exist around the Internet. (Feel free to ask questions though if you have them, but I can’t promise to answer them :slight_smile:

  • Sign up for an account on github.com

  • Create a fork of the blogbox repository

  • Download and install a Git client on your local PC (I have had good luck with SmartGit 2)

  • Git is a distributed version control system which means (unlike Subversion) there isn’t one central repository that you commit to. Instead you clone a full working repo of your fork to your local computer.

  • Open you local Git client and “clone” your fork (using the github URL). This is the equivalent to “checking out” in SVN.

  • When you “commit”, you are just committing to your local repo.

  • If you want to share code, you “push” and “pull” from other repositories (Github namely).

  • SmartGit should have a “remote” set up which is the origin – this is your GitHub fork.

  • You may also set up a “remote” called upstream which would be Luis’ main repo and will allow you to merge the latest version of the main repo into your local repo.

  • Create a branch in your local repo for the change. (you can only have one pull request per branch, so this is important if you want to submit multiple changes at once)

  • Make your changes in the local working copy

  • Commit those changes (they haven’t left your computer yet)

  • Push your new branch and it’s commits to your origin “remote” which will make your new branch and changes appear on the GitHub website.

  • Click “Pull Request” in the GitHub website and this will send a message to Luis (the owner of the repo that you forked) and tell him that you have commits in your fork which you want him to “pull” into his master repo.

  • Luis can then review your changes in the online diff tool and a comment thread can happen if necessary before he merges them in.

So, in short you don’t need any special permissions since you aren’t committing directly to the main repo. It’s a few extra steps, but it will make sense after a bit.

Thanks for your willingness to help submit code!

~Brad

Brad,

Thanks for the crash course in Git. Very helpful. I will work on getting this setup tonight after work.

Michael

Brad,

Can I use what you wrote so we can add it to our ColdBox wiki and future BlogBox wiki?

Luis F. Majano
CEO
Ortus Solutions, Corp
www.ortussolutions.com

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

Sure. I was thinking myself of making a how-to blog post with screenshots and such.

~Brad