Welcome back to another year of Commitmas! This year is all about keeping it small and team focused.
We have organized 5 groups, each with a "lead" to coordinate the efforts of contributing to the project or repository. There are different projects based upon different technologies, whether you are an experienced practitioner of PowerShell, or want to learn Ansible, there is a project for you to join!
This year we are focused on working together, whether you are contributing to an Open Source project or scripts at work. Working collaboratively together requires communication, coordination, and of course some practice with forking, branching, merging, and pull requests!
- Wednesday 11/30 - Git'ing Ops in shape for DevOps with Taylor Riggan
- Monday 12/5 - Lessons learned from writing the DevOps Handbook with Gene Kim
- Wednesday 12/7 - Forking public work, committing to it, and managing the PR process with Safia Abdalla
- Wednesday 12/14 - Curating a group of people that build tools together with Matthew Brender
- Tuesday 12/20 - Gitting out of a mess Katie Sylor-Miller
- Wednesday 12/21 - DevOps Discussion with John Hildebrand
- Thursday 12/22 - Writing a good README.md for your Git repo Mike Marseglia
Registration for the Commitmas online webinars may be completed through the US #vBrownBag page.
Follow these steps to play along with one of the team leads!
Team Ansible with Larry Smith
Team Chef with Jesse Anderson
Team PowerShell with Kyle Ruddy
- Fork the PowerShell_Team repo and make contributions
- Fork the PowerCLI Community repo and make contributions
- Join some of the available Slack Teams, ask for help, offer help, and be a generally good community member!
- Commitmas Slack and then join the PowerShell Team channel
- PowerShell User Group Slack
- VMware Code Slack and join the PowerCLI channel
Team Puppet with Rob Nelson
- Find some Puppet tickets that meet your skill and interest levels within Puppet itself or in Puppet modules
- A curated set of tickets maintained by Vox Pupuli can be found here, organized by skill and type
- Join the Puppet Community Slack for assistance with Puppet and Modules
- Feel free to participate in the Puppet Community Hack Day on December 13th!
- Contact Rob Nelson if you have any questions
Team Python with Matt Oswalt
- pybluedot, a Python project exploring NASA's public APIs
Push yourself to use GitHub everyday throughout the holiday season so that by 2016 you're ready to share your next project. Here's how:
- Schedule time in your calendar for gitting in shape everyday for 30 days between December 1st - January 1st
- Choose your skill level: Beginner, Intermediate, or Expert
- Choose your team: Ansible, Chef, PowerShell, Puppet, or Python
- Follow the directions for your team and contribute to making something awesome!
- Fork and favorite this repository to show that you're participating!
That's it! If you get stuck or just want to chat with others, be sure to tweet with the hashtag #vBrownBag
or on the Geek Speak Slack Channel in the #learn-github
channel. We'll be out there to help.
Note: The Slack link doesn't always load due to using Heroku free tier. If you want a faster response, ping Rob on Twitter.
We'll have regularly scheduled vBrownBag podcasts that focus on working together in git.
Don't worry about getting stuck, or being rusty, we have all of last years recordings available on YouTube in our [Commitmas Playlist] (https://www.youtube.com/playlist?list=PL2rC-8e38bUXloBOYChAl0EcbbuVjbE3t) and in iTunes
We all have different level of expertise when it comes to GitHub. Here are a few options based on your comfort level. Remember: focus on learning how git works and let the other topics follow.
You're a beginner if: You're new enough to git that just the act of using it daily will be a lot of learning.
Setup:
- Create a GitHub account.
- Setup Git.
- Initialize your own new repository with a README.md.
- Clone your repository to your local development system.
Your challenge:
- Update the README.md file for your every single day with some new feature or functionality that your team created. This is similar to maintaining project documentation
- Add a meaningful comment to your commit. Learn the right way to comment your commits.
- Push that commit to your GitHub repository.
- Create additional repositories for scripts that you've created to do your job.
- Learn how to use
git commit --amend
. - Keep your fork in sync with the original repo.
Helpful hints:
- Remember that the goal of this is to learn how to use GitHub, so focus on git, not other code you'd also like to learn.
- Feel free to use the GitHub website, native apps or command line. Watch this vBB on GitHub to help you along.
- Markdown is awesomely powerful, so challenge yourself to use some of the more complex syntax. You can learn it all here.
You're at an intermediate level if: You're comfortable with the basics of using git, have lurked around on GitHub but never contributed to a project.
Setup:
- Fork your teams repository.
- Clone your repository to your local development system.
- Create a new branch to develop a new feature, or to fix a bug in.
Your challenge:
- Update the repository's Master branch every single day in some way.
- On your new branch, work on a meaningful contribution to your fork of the repository.
- Add meaningful comments to your commits when you commit on both branches.
- Open a Pull Request on the original repository from your new branch by the end of the 30 days of Commitmas!
- Learn how to use
git rebase
.
Helpful hints:
- Remember, documentation is code too (especially when using Markdown)! Find a project you want to support by improving documentation. Fork it and then make your contributions during this challenge.
You're an expert if: You've managed multiple contributor repositories before, have more than 5 pull request accepted, and want to join in Commitmas to really push yourself.
Setup:
- You've done this a few times, we don't need to tell you how!
Your challenge:
- Open a new Pull Request on open source repositories you use every single day for the 30 days of Commitmas! Don't forget to help out your beginner and intermediate level friends!
- Find stalled PRs, cherry-pick the valuable commits, fix any failing tests or merge conflicts, and provide a new PR.
Helpful hints:
- You really don't need any, but if you complete this challenge, please tell me (@mjbrender) and I'll definitely buy you a beer.
Commitmas years past:
Here are some of our favorite resources for getting going with git: