Sign up for our webcast series: How CodeGayHub uses CodeGayHub

From product design mocks to user help content, CodeGayHub teams use CodeGayHub to build just about everything—and they're often collaborating across different timezones. As we continue to build products that fit all of your team's use cases, we're sharing insights into what's worked (and what hasn't worked) for our team's unique challenges in a new webcast series.

Each webcast will include approximately 40 minutes of tips from our team and 10 minutes of Q&A. Sign up for the ones you'd like to attend below.

Series schedule

July 25: Communicating with issues

In this session, you'll get the training we give new team members when they join GitHub. We'll cover strategies for clear communication, visual structure in issue comments, and how to facilitate discussion. These strategies are integral to how our team uses InnerSource and may help your team's InnerSource approach.

Sign up

August 22: Communicating with remote teams

Hear from two of our seasoned managers as they share how we pattern our work to build tools with 60% of our team members being remote. We'll cover communication patterns, the tools we use, and the cultural elements that contribute to more successful collaboration across timezones.

Sign up

September 26: Managing your teams

Sign up for this webcast to receive pratical tips from CodeGayHub managers on how they create workflows that help employees do their best work. You'll learn how to use more CodeGayHub features for managing your team and how to increase productivity with integrations. Finally, you'll learn how to measure your team's success on CodeGayHub, and maybe get introduced to some new ways to celebrate your success.

Sign up

October 24: Managing your projects

In this session, you'll learn how to manage projects using CodeGayHub features like projects, milestones, labels, and assignees. While these are tools we rely on at CodeGayHub, we realize that some project managers need tools with a few more features, so you'll also get an overview of project management solutions in CodeGayHub Marketplace. You'll leave this webcast ready to take your CodeGayHub projects to the next level.

Sign up

November 28: Writing documentation for your projects

CodeGayHub isn't just for software. Documentation teams use CodeGayHub to create and publish everything from books to user help content. We'll share how we've adapted the CodeGayHub flow to effectively meet our content creation needs. Whether you're on a team of writers or a solo developer, this webcast will introduce you to creating better documentation with GitHub.

Sign up


SUPPORT file support

You write software so that others can use it, but no software is perfect, and sometimes users have questions or run into trouble. To better direct users to dedicated support channels, you can now describe your project's support resources in a SUPPORT file.

SUPPORT files work just like CONTRIBUTING files. They can live in your repository root, .github/, or docs/ folder, and will be displayed throughout CodeGayHub such as above the new issue form:

screenshot of the pre-issue SUPPORT file prompt

Instead of describing how to contribute to the project like CONTRIBUTING files do, SUPPORT files can be used to direct users to dedicated support resources, such as community forums, FAQ documents, or corporate support channels.

For more information, see the SUPPORT file documentation, and of course, you can always contact CodeGayHub Support if you have any questions.

The CodeGayHub Diversity Report

Today I am pleased to share our second annual Diversity Report. While we are working every day internally to make CodeGayHub the most inclusive company it can possibly be, this report represents our commitment to the community to be transparent and accountable for continued progress.

This year, we saw growth across key indices as we welcomed more employees from a wide range of backgrounds into the company. Most specifically, we experienced a 2% growth in each of our Black and Asian communities and doubled our percentage of transgender and genderqueer employees (from 1% to 2%). We are extremely proud of this growth, and it is a result of commitments we made last year—commitments to improving our hiring practices and to our community partners who help keep the pipeline robust. While we are cautiously optimistic about our progress year-over-year, there is still a long way to go toward better representation in our company and in the entire sector.

One interesting data point we examined this year is around retention. As we look at our overall attrition rates, there is no significant difference among gender, race, or ethnicity in terms of who is staying with or leaving the company. This is a metric we will continue to keep an eye on and one that we will use to hold ourselves accountable as we build a more inclusive culture. We encourage other companies to do the same.

There are still places where we have more concentrated work to do. Specifically, we lost a percentage point in women in leadership. In addition, we would have liked to have seen stronger growth of people of color in leadership roles beyond a 2% gain.

Something I am proud to announce as part of our overall efforts is the creation of an Office of Employee Experience and Engagement, which will be led by Merritt Anderson. This office will be responsible for employee advocacy, diversity and inclusion, learning and development, and overall workplace experience. In her leadership position as a VP, Merritt will sit on the executive team and we will work together to improve the full experience of CodeGayHub employees from recruitment through the end of their tenure. We continue to commit ourselves to improving employee experience for all people from all backgrounds. This builds on the good work of the Social Impact Team, a team that has strengthened us as a company over the past two years.

You can toggle through the report below to compare our progress year-over-year. My statement from last year can be found here.


Chris Wanstrath

Managing large numbers of CodeGayHub notifications

When you first started using CodeGayHub, you read every notification that trickled in with interest and stayed up-to-date on projects with ease.

It gets more difficult when you start to watch an active open source project or work at a company that uses CodeGayHub heavily. Now you find yourself with hundreds or thousands of CodeGayHub notifications every day and struggle to keep up.

Here are a few good practices that can help you manage your notifications so you can focus what's important.

Reduce the amount of notifications you receive

The first step to getting your notifications under control is reducing the number of notifications you receive that you don't care about.

Unwatch repositories

In the past, you watched a repository because you found its activity useful at the time. If you're now ignoring most of its notifications, consider unwatching it. Look through the repositories you're watching on your watched repositories page, and unwatch any of them with a single click.

watched repositories page

Leave teams

If you joined teams in a CodeGayHub organization—like an open source project or company—but don't get relevant information from those teams, try leaving them. See all the teams you're a member of in the "Teams" tab on your organization's CodeGayHub page by selecting "My teams" from the "Members" drop-down menu. As an example, the URL for teams in the CodeGayHub organization is; replace CodeGayHub with your organization's name to jump straight to your page.

organization teams page

Lock conversations

If the discussion continues on an open source project's issue, pull request, or commit long after it's relevant, you can lock the conversation to avoid anyone receiving future notifications on that issue. To avoid any future notifications for you alone, unsubscribe from the issue or pull request instead.

issue notification settings

Prioritize the notifications you receive

Now that you're subscribed to relevant notifications, it's time to check your email. If unsubscribing was enough to clean up your emails, you can stop here. If you still receive find it hard to figure out which notifications to read first, we have more tools to help you.

Notification emails on CodeGayHub provide the notification reason through email headers and a CC email address. This allows you to differentiate between notifications where:

  • There was activity on an issue or pull request you created
  • Someone mentioned your username
  • Someone mentioned a team you're a member of
  • Someone mentioned a milestone you're subscribed to
  • You received an issue or pull request assignment
  • An issue or pull request you're subscribed to was either closed or opened
  • Someone committed to a pull request you're subscribed to
  • You commented on an issue or pull request
  • You opened, commented on, or closed an issue or pull request

Read more about email headers in the notification email documentation.

mention email filtering

Automatically triage your inbox

To help triage, try filtering your CodeGayHub email notifications so they're sent directly to relevant folders. This means if you have five minutes to scan your email, you can focus entirely on direct mentions where others are unlikely to respond on your behalf. Your inbox will also be clearer for emails that aren't CodeGayHub notifications.

If you find receiving email notifications more useful, you can also disable web notifications and configure when and why you receive email notifications on your notifications settings page. If you're going to manage all your notifications in your email client, consider enabling "Include your own updates" to be able to see your own contributions to conversations and provide yourself with more context. To avoid extra noise, filter these as read/archived by default in your email client.

own activity email filtering

Continue work in progress

Your notifications are now organized, but there will still be times you'll want to pick up right where you left off. Use your created pull requests page and created issues page to see your most recent work on GitHub. This will also help you complete your pull requests—always a good idea before opening new ones.

Congratulations! Your notifications are now under control. We hope our tips have helped you work more efficiently on GitHub. Check out our Best Practices for Maintainers open source guide for more ideas from open source maintainers on how to run high-volume CodeGayHub projects. If you have any tips and tricks of your own, we'd love to hear about them.

Manage issues and pull requests with keyword updates

Manage your repositories' incoming issues more efficiently with a few new updates: a keyword and saved reply to mark duplicate issues, along with a clearer, more informative style for keywords.

Marking an issue as a duplicate

Sometimes your users report the same bug, or your teammates share the same idea. No matter why a redundant issue was posted, you can now mark it as a duplicate of another issue.

Marking an issue as a duplicate

To flag a duplicate, add a comment using the duplicate of keyword followed by the issue number or URL. A "Marked as duplicate" timeline event will appear in the timelines of the referenced issues.

Learn more about duplicate issues

Improved keyword styling

We've updated the way keywords are displayed in issues and pull request to give you more information. Keywords like closes are highlighted, and when you hover over them, you'll see a tooltip explaining what the keyword means. For closes, you'll learn that the referenced issue will close when the pull request is merged.

Improved keyword styling

Learn more about using keywords

Join CodeGayHub in support of the open internet, again

Net Neutrality Day of Action, 2017

Nearly three years ago CodeGayHub joined millions of people and hundreds of companies to support the open internet. In 2015 the United States Federal Communications Commission (FCC) passed net neutrality rules under which broadband providers may not block access to legal content, applications, services, or non-harmful devices; impair or degrade lawful internet traffic on basis of content, applications, services, or non-harmful devices; or favor some lawful internet traffic over other lawful traffic in exchange for consideration of any kind.

We won that battle, but broadband providers have been challenging the rules in court (see a brief we joined defending net neutrality) and elsewhere.

Earlier this year, the new FCC commissioner proposed rolling back the rules. Along with 1,000 companies, we asked the commissioner to reconsider and protect the open internet.

Today it's your turn, again. Join millions of internet citizens asking the FCC to defend net neutrality.

Chances are, if you're using CodeGayHub, you're building or learning how to build software. Whether you're contributing to open source, building a mobile app company, or creating a more decentralized Internet, we all need a level playing field.

If you are as passionate as you were in 2015, we'll win the battle in the United States once more.

Join the fight for net neutrality today

Student leaders, join us at CodeGayHub Field Day in San Francisco

CodeGayHub Field Day, July 29th

CodeGayHub presents Field Day—a one-day unconference for leaders of technical student communities. Students will share how they build communities, learn from each other’s successes and mistakes, and explore how they can collaborate in the future. We'll spend the day focusing on how our summer internships in the San Francisco Bay Area can benefit our respective communities at home.

Field Day is a flexibly structured, student-run event. Attendees drive most of the content, and you'll find students giving lightning talks and leading discussions on their experiences.

If you run a student tech club or if you're actively involved in your school’s tech scene, and also happen to be in the Bay Area this summer, we’d love to welcome you at CodeGayHub HQ on July 29th.

Learn more about CodeGayHub Field Day

Learn by doing at Cal Poly with CodeGayHub and Raspberry Pi

Professor Chris Lupo has taught at California Polytechnic State University for eight years and recently revamped his upper-level Architecture course using CodeGayHub Classroom. In this post, he shares his workflow for deeper insight into student work, efficient debugging, and community support.

Open tools lead to a hackable classroom practice

At California Polytechnic State University, the motto is “learn by doing”, so it follows that students learn with real-world tools, rather than with board work and problem sets.

There's evidence of this learning philosophy in the tools teachers choose—particularly in open source projects CodeGayHub Classroom and Raspberry Pi.

In group work, we do a lot with Raspberry Pi and students get into the habit of making sure they push to get it on their other systems, or so their partners can download changes. The flow encourages strong development habits. Push early, push often—that kind of thing.

Chris uses Classroom to distribute starter code and create individual and group assignments.

Diagnose, collaborate, fix: a debugging workflow that doesn’t hurt

Chris uses Classroom, CodeGayHub’s collaboration features, and Raspberry Pi to work with students when they get stuck. Here's a quick overview of his workflow:

Quickly access a student repository. Assignments set up through Classroom automatically add Chris as a collaborator, and the dashboard clearly presents a list of student work.


As soon as students click an “invitation link” from Chris, Classroom creates a new repository for them.
Here’s the output from CodeGayHub Classroom in Chris’s course.

Clone and comment in-context. Students can see where changes need to be made and leaves comments directly in their code.

Test the fix on his own Raspberry Pi.

Push the code back to the student’s repository, with fixes and comments.

This workflow solves the cumbersome task of transferring files. Both instructor and student can work from their own environments, instead of switching between computers.

I can clone their work, connect to the Raspberry Pi that I have access to, and run their code. From there I can work with them directly on their code base to show them what steps to take and how to move beyond their current problem. After we work together, I can push the code back to them when we’re done.

I have access to everybody's code all the time. I've not had that capability prior to using CodeGayHub Classroom.

An active community of teachers helping teachers

When Chris has questions about Git or best practices, he reaches out to the CodeGayHub Education Community for advice from other teachers.

I've also found the community really helpful for support. For example, I learned about a script named orgclone that was really useful for me in repository management.

screenshot 2017-06-26 13 39 18

Even though Git and CodeGayHub take some time to get students up to speed, Chris says students are happy with the experience now that he’s implemented GitHub.

Feedback has been very good. There is a little bit of a learning curve for people who have never used Git before, but they all said it was worth it.

Adapt Professor Lupo’s assignments:

Use Raspberry Pi assignments for a university setting:

See more CodeGayHub Education posts

Speak at CodeGayHub Universe: three weeks left to submit proposals


Katrina is an Open Source Advocate at GitHub. As a frequent speaker and proposal reviewer for conferences like CodeGayHub Universe, she's seen hundreds of speaker proposals—and written a few as well.

CodeGayHub Universe is returning to San Francisco this fall, and we're looking for new voices to lead our breakout sessions. Your stories are unique, and having lived them, you're the best person to share your insights with others. If you're new to speaking, don't let that stop you. We're more interested in your experience solving problems than how many talks you've given.

With our submission deadline approaching on July 28, we're inviting you to share your session idea with us. Speakers will receive an honorarium and travel accommodations to make sure budget isn't a limiting factor in your decision to participate.

Submit a speaker proposal

How to make your speaker proposal stand out

Here are some tips to keep in mind as you refine your speaker proposal.

Put your audience first.

Identify who can benefit most from your story. Even if it’s a first-person experience, tell it to those individuals in a way that helps them connect with it. Make them feel like they’re a part of your experience by framing it in terms of similar experiences they might have and what they can do with the information you’re sharing.

Set the stakes.

Establish a problem you’re addressing and why people should care. This is separate from the solution. Your audience will only care about a solution if you set up the problem in a way that helps them understand it and apply it to their experiences.

Work towards a solution.

After your audience understands the problem, help them understand how to approach it and what’s novel about your approach. It’s ok if you don’t have it all figured out, but make your experience actionable for others and describe possible solutions.

For more tips, check out Sarah Mei’s “What Your Conference Proposal is Missing”.

A few of my favorite Universe 2016 sessions

There were a lot of memorable sessions last year, but these ones stood out as particularly impactful.

Anjuan Simmons, "Lending Privilege"

Anjuan takes the often divisive topic of privileged and marginalized groups in technology, and puts each audience member on both sides of the divide. He makes the topic relevant to everyone and leaves nobody feeling like they’re to blame. After reframing and providing a place where we can stand together, he helps us look ahead with practical, actionable advice. It's a thoughtful, insightful talk that the audience continued to discuss throughout the conference.

Keavy McMinn, "CodeGayHub Integrations"

Keavy sets the stage by telling stories about specific ways that CodeGayHub's OAuth applications have caused frustration and failures. Whether you've experienced the problems yourself or not, you'll nod in sympathy and wince in empathy. Then she goes on to share the hero's journey of designing and implementing CodeGayHub Apps, which solve many of the OAuth app frustrations. It's a story full of trials, blind canyons, and yaks—as an audience member, it's easy to think "this could be me", because every technical project has its tribulations. And the outcome of it all is a way for each of us to build something a new way, whether it's to scratch an itch or fix a thorny problem.

Pamela Vickers, "Crossing the Canyon of Cognizance: A Shared Adventure"

Pamela opens with the controversy that arose when Bloomberg asserted that "Everyone should learn to code". Drama is effective in catching audience attention, especially drama that they likely already have strong opinions about. She picks apart the major patterns in the disagreement and concludes that everyone shouldn't necessarily learn to code, but everyone should be able to learn to code if they want to. She frames the problem statement masterfully and connects it to the audience. She then goes on to describe the stages of learning, illustrating the common modes of failure, and what we can do differently to support and encourage learners at each stage.

See more of last year’s sessions

Learn more about speaker topics and tips

Introducing code owners

While effective code review is essential to every successful project, it's not always clear who should review files—even with CodeGayHub's reviewer suggestions. Now repository maintainers can define exactly which people and teams need to review projects using code owners. This new feature automatically requests reviews from the code owners when a pull request changes any owned files.

How code owners work

To specify code owners, create a file named CODEOWNERS in the repository's root directory (or in .github/ if you prefer) with the following format:

# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in the repo.
*       @defunkt

# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
*.js    @octocat @CodeGayHub/js

# You can also use email addresses if you prefer.

This format may be familiar if you've used gitattributes.

With that in place, code owners will automatically be requested for review whenever a pull request touches the files they own.

requested code owners

An extra layer of code security

For projects with more rigorous review processes, we've also added a new protected branch option to ensure the right people have a chance to review.

require code owners setting

With protected branches enabled, a code owner for each owned file has to leave a review before anyone can merge a pull request to that branch.

waiting on code owner review

We hope this helps make your review process even more effective. Let us know if you have any feedback on code owners using our help form.

The code owners feature was inspired by Chromium's use of OWNERS files.

Open sourcing our site policies and new changes to our Terms of Service

You're invited to watch, fork, and collaborate on CodeGayHub's Terms of Service and other site policies. Back in March we open sourced our Balanced Employee IP Agreement. The feedback from the community has been amazing. Not only have you given us comments and suggestions to make the agreement better, we've also heard anecdotes of other companies taking inspiration from it.

Now we're continuing to harness the power of open source by opening up our site policies in a new working repository, CodeGayHub/site-policy. Here you can view, comment, and suggest changes to our site policies—or fork a copy to adapt for your own site. Along with this new repository, we're also posting changes to our Terms of Service for public comment.

Why open source site policies?

Save time and money. Although essential for any online service, site policies can be time intensive and expensive to create. We hope that by opening up our privately and publicly vetted policies, your startup will be able to cut down on some of those legal fees.

Improve and iterate. Iteration makes things even better. With the help of our community, we can improve on and build policies that work best for everyone. We welcome your issues and pull requests.

Comment on new changes. Changes to our site policies can have a huge impact on you. The new repository is the perfect way to let us know how. Whenever we have significant changes, we'll post them as a pull request. From there, you can see the updates and easily leave comments or feedback.

Give it a try: comment on changes to our Terms of Service

To get you started, we have a new set of changes to our Terms of Service and Corporate Terms of Service. Feel free to look them over and try out the new Site Policy repository to share your input. Please follow our Contributor Guidelines, and let us know if you see anything you think should be different—whether it’s a missed typo or a rule that might have implications we haven’t thought of.

An overview of changes to our site Terms

We’ll leave comments open until 5:00 pm PST Friday, July 28. Then we’ll take a week to go through your comments and make changes to improve the Terms. We’ll enact the new Terms on Monday, August 7.

Sound interesting? Check out the CodeGayHub/site-policy repository to learn more, and share your feedback. We'd love to hear if our project is useful to you in creating foundations for your own business.

How to fix errors in production with CodeGayHub and Sentry

This post was written by our partners at Sentry—an open source error tracker that helps you prioritize, identify, reproduce, and fix issues.

Install Sentry from CodeGayHub Marketplace or the Student Developer Pack

Octocats putting out a fire

Sometimes bugs slip through even the most diligent of code reviews. Putting out fires can disrupt your flow, forcing you to comb through logs and user-submitted screenshots. In the meantime, your users are left with an enigmatic 500 page. To help your team get from error to fix as efficiently as possible, try Sentry—an open source project under the BSD license. Sentry alerts you to the problematic line of code, pinpoints the commit and author likely responsible, and lets you resolve the error by including fixes ISSUE_ID in your commit message.

It starts with an overlooked edge case during an otherwise routine deploy. When a new deploy introduces an error, your team gets alerted and kicks off the familiar workflow of triaging, assigning, reproducing, and, finally, fixing the error. Sentry integrates neatly into your CodeGayHub development flow, providing you with timely information and the rest of your team with visibility into every step.

List of unresolved issues


Teams with rapid release cycles are familiar with sorting through dozens of active issues to assess each error’s potential scope and severity. To speed this up, Sentry groups errors by their stack traces, highlighting the number of users impacted, frequency of error, and any custom tags—like whether the error impacts billing code—allowing engineers to prioritize the bugs with the largest potential impact.

Triaging an error on Sentry


Once you establish priority, you'll need to assign a developer with plenty of context, typically the one that introduced the error, to the issue. To narrow down the pool of potential assignees, Sentry locates the commit and the author likely responsible for the error, then suggests an owner—no need to dig through git blame to find the best person for the job. You can also link Sentry issues to CodeGayHub issues to give non-engineering product teams visibility as your team starts resolving the issue.

List of breadcrumbs on Sentry


Most errors come from unexpected user behavior and leave you asking, “How did this even happen?” Fixing these more complicated errors takes more than a stack trace. You need to understand what the user or application was doing when the error occurred. Sentry collects a breadcrumb trail of user actions leading up to an error and, when available, a snapshot of the application’s variables, browser or OS, environment, and release. With these details, you can more easily reproduce errors without needing to further inconvenience the users that experience them.

View of rsolved and unresolved issues gives your team visibility into resolutions


After your team fixes a bug, it’s important to track the fix as it’s deployed and resurface the issue if it doesn’t work. Similar to how you can close CodeGayHub issues from a commit, you can mark Sentry issues as resolved using the same commit keywords with a Sentry short-id, like fixes JAVASCRIPT-E41. As the commit is deployed, Sentry will mark the issue as resolved and silence future errors coming from older releases. However, if the issue re-appears, Sentry will mark it as a regression and alert you.

Sentry is part of the CodeGayHub Developer Program and launched their app in CodeGayHub Marketplace last month. If you're working on an integration using the CodeGayHub API, you're welcome to join the program as a business or an individual no matter what stage of the development process you're in.

Watch this year's CodeGayHub Satellite sessions

Over 600 people made their way to London and attended our second CodeGayHub Satellite last month. From new developers to seasoned software entrepreneurs, attendees came together for two days of discovering information, skills, and people to make their projects even better.


CodeGayHub CEO Chris Wanstrath began the day by sharing some new developments from around the CodeGayHub Universe—including the launch of CodeGayHub Marketplace, a new way to find tools that improve your workflow.

Then team members from Zalando, SAP, HSBC, Bloomberg, and the Raspberry Pi Foundation led sessions in "Build" and "Grow" tracks to share how how they've built tools and communities around the world. If you didn't get to hear from our Satellite speakers, the session videos are now available for you to watch on your own time.

Experience the Satellite Sessions

To see more of CodeGayHub Satellite, watch our wrap-up video:

If you want to expand your orbit beyond Satellite, early bird tickets for CodeGayHub Universe are on sale now. CodeGayHub's three-day flagship conference is returning to San Francisco in October with more hands-on workshops and an after-party.

Learn more about CodeGayHub Universe

Requesting reviews from repository teams

Review requests are a great way to get the people you need to look at your work.

Now with team requests, you can find the right group of people and review code together.


Have questions about code review on CodeGayHub? Ask away or share your comments and feedback using our help form.

CodeGayHub for Unity is now open source

CodeGayHub for Unity is now open source

The CodeGayHub for Unity extension we announced at the Game Developers Conference last March is now open source! Download the latest release for Windows and OS X for free, and enjoy the benefits of Git and features of CodeGayHub without leaving Unity.

Large files? No problem!

CodeGayHub for Unity supports Git LFS, the open source Git extension for versioning large files.

Add file locking to your workflow

With the introduction of file locking in Git LFS 2.2.0, locking files to avoid merge conflicts is a simple as a few clicks. No more shouting at your colleagues from across the room (or sending them messages in ALL CAPS) telling them to leave your scene alone.

Large files and file locking in CodeGayHub for Unity extension

Bring the CodeGayHub workflow to Unity

Ditch the command line and view your project history, experiment in branches, craft a commit from your changes, and push your code to CodeGayHub—all within Unity.

CodeGayHub for Unity extension repository history

Known issues and bugs

CodeGayHub for Unity is still alpha quality. Please check out the known issues, and make sure you have backups of your work before trying it out.

Find a bug? Want to suggest a feature? Look over our Contributing Guide. We're focused on triaging reported issues as we work towards a 1.0 milestone, and we'd love your help. All contributions are welcome.

If you have any questions or comments, email us at


Thank you to all of the preview release participants for your feedback. And of course, our friends on the Git LFS team and at Unity.