Git workflows
This will be a fast-paced tour through the wonderful world of version control with Git. Whether you're a lone ranger or a team, a small fish or a big enterprise fish, if you don't love Git yet this session is for you.
With pre-recorded demos and accompanying downloadable examples, this session will cover the following topics:
- Zero to sixty with Git in eight minutes
- Managing private projects on GitHub
- Back-and-forth between GitHub and drupal.org without hassles
- Tips & tricks that save time and dazzle coworkers
"Zero to sixty with Git in eight minutes", will review key concepts. Here, we'll get Git newcomers up to speed and make sure we're all speaking the same language. This section will give an overview of topics like: repos, branches, tags, remotes, decentralized version control, and relevant Drupal conventions.
Next, "Managing private projects on GitHub" will look at the most common workflow: Storing an entire Drupal site in a single private repository and sharing access with customers and teammates. GitHub's tools make this workflow painless (and even fun). This section introduces topics like forks, pull requests, code reviews, and basic Git etiquette for smooth collaboration.
In "Back-and-forth between GitHub and drupal.org without hassles", I'll show you how I convince customers it's in everyone's best interest to contribute their custom modules to drupal.org. With a well organized repo and adherence to best practices, maintaining a module on drupal.org and inside a custom site repo should not cost you or your customers significant additional time or headache. There are different ways to accomplish this. I'll demonstrate a few approaches.
Last, but not least, during "Tips & tricks that save time and dazzle coworkers" I'll share some of my favorite moves, then we'll kick off Q&A with an open invitation for other people to share theirs. This section will briefly touch on topics like: rebase, revert, reset, cherry-pick, and bisect, suggestions for crafting Git logs worth reading, and options for displaying the log in ways that are useful to read.