The Wayback Machine - https://web.archive.org/web/20170121034903/https://github.com/blog
Skip to content

Manage pull requests with the GitHub Extension for Visual Studio

No need to toggle between windows, you can now manage pull requests without leaving Visual Studio. The GitHub Extension for Visual Studio includes a new pull request window that lets you review code, make changes, and push those changes back to GitHub. This release also provides support for upstream repository contributors to collaborate on a forked branch.

A Pull Request shown in the GitHub Extension

You can install the extension directly from the Visual Studio gallery or download it from visualstudio.github.com.

Last year we introduced the GitHub Extension for Visual Studio as an open source project under the MIT license. We welcome you to log issues and contribute in the extension repository.

GitHub data, ready for you to explore with BigQuery

GitHub data is available for public analysis using Google BigQuery, and we’d like to help you take it for a spin.

If you'd like to find out more about what data is available and how it's been used so far, watch this conversation between GitHub Data Analyst Alyson La and Google Developer Advocate Felipe Hoffa. You'll learn the story behind the datasets and what types of analysis they make possible. You'll also see how we've visualized data with Tableau and Looker.

There's a lot of data out there, but it's all available through BigQuery in two large data sets. The original, community-led GitHub Archive project launched in 2012 and captures almost 30 million events monthly, including issues, commits, and pushes. Last year, we worked with Google to release The GitHub Public Data Set, separate tables with information on all projects that have open source licenses, including commits, file contents, and file paths.

You can also use the GH torrent project to complement the existing datasets with additional metadata.

We ran a list of queries on the datasets above to create the open source section of our Octoverse report, but anyone can run an analysis. Here are the results of some of the queries run so far.

  • "This should never have happened" has appeared in code comments more than a million times (hear this data point for yourself in this Changelog episode)
  • Where does open source happen? GitHub top countries shares which countries have the most open source developers per capita
  • How reliable is GitHub? Felipe runs a query to find out in GitHub reliability with BigQuery
  • There are a lot of feels in open source. Geeksta examines how emotions are expressed in GitHub commit messages
  • Are bigger pull requests better? Jessie Frazelle analyzed the top 15 projects on GitHub in terms of pull requests opened vs. pull requests closed

Happy exploring!

Navigate file history faster with improved blame view

Whether you're debugging a regression or trying to understand how some code came to have its current shape, you'll often want to see what a file looked like before a particular change. With improved blame view, you can easily see how any portion of your file has evolved over time without viewing the file's full history.

use-the-improved-blame-view-to-see-what-the-file-looked-like-before-a-particular-change

Check out the GitHub Help documentation for more information on using git blame to trace the changes in a file.

Flatiron School joins the GitHub Student Developer Pack

Flatiron School has joined the Student Developer Pack to offer students one free month of their Community-Powered Bootcamp, a flexible online course in web development.

Flatiron School joins the Student Developer Pack

The Community-Powered Bootcamp is a self-paced subscription program for beginners. You'll learn online using the same course of study as the Web Developer Program—a comprehensive curriculum tailored to job seekers. In a month, you can pick up a few in-demand skills and work with a community of other learners to start reaching your goals, whether they are technical literacy, a new programming language, or a new career.

The details

  • Get the first month of tuition free
  • Start 800+ hours of rigorous web development coursework
  • Take on topics like HTML, CSS, JavaScript, Node.JS, React, and Ruby on Rails
  • Learn online and at your own pace with a curated community of students
  • Build a portfolio
  • Get help when you need it, 24/7

After one month, you can sign up for a monthly subscription of $149 USD.

The Student Developer Pack gives students free access to the best developer tools from different technology companies like Datadog, GitKraken, Travis CI, and Unreal Engine. Sign up for the pack, and start learning.

Git Merge scholarships and more

gitmergeheader

Brussels will play host to Git Merge 2017 in February, and planning is already well underway.

We're building Git Merge to be welcoming to and supportive of everyone in the vibrant Git community. To this end, 100% of conference proceeds will once again go to the Software Freedom Conservancy to protect and further FLOSS projects. We are also pleased to offer scholarships as part of our commitment to accessibility and inclusion at GitHub events and to bring Git Merge to a wider audience.

The Git Merge scholarships consist of a number of discounted student tickets and complimentary tickets for people from currently underrepresented groups in tech. We reserve 10% of tickets to all of our events for scholarships and distribute them through partner organizations in the area serving technologists from underrepresented groups. The Git Merge 2017 partners are Rails Girls Belgium, part of the global Rails Girls movement for women in tech, and Operation Code which supports military veterans and their families learning to code.

Finally, for the first time, we are taking individual applications for scholarship tickets through the Travis Foundation's Diversity Tickets program which makes it easier for events of any size anywhere in the world to reach a more diverse audience. Applications close on January 13th, so there's still time to apply and spread the word!

Bug Bounty anniversary promotion: bigger bounties in January and February

Extra payouts for GitHub Bug Bounty Third Year Anniversary

The GitHub Bug Bounty Program is turning three years old. To celebrate, we're offering bigger bounties for the most severe bugs found in January and February.

The bigger the bug, the bigger the prize

The process is the same as always: hackers and security researchers find and report vulnerabilities through our responsible disclosure process. To recognize the effort these researchers put forth, we reward them with actual money. Standard bounties range between $500 and $10,000 USD and are determined at our discretion, based on overall severity. In January and February we're throwing in bonus rewards for standout individual reports in addition to the usual payouts.

Bug bounty prizes are $12,000, $8,000, $5,000 on top of the usual payouts

And t-shirts obviously

In addition to cash prizes, we've also made limited edition t-shirts to thank you for helping us hunt down GitHub bugs. We don't have enough for everyone—just for the 15 submitters with the most severe bugs.

Enterprise bugs count, too

GitHub Enterprise is now included in the bounty program. So go ahead and find some Enterprise bugs. If they're big enough you'll be eligible for the promotional bounty. Otherwise, rewards are the same as GitHub.com ($200 to $10,000 USD). For more details, visit our bounty site.

Giving winners some extra cash doesn't mean anyone has to lose. If you find a bug, you'll still receive the standard bounties.

Happy hunting!

Visualize your project's community

A new graph is available in the Graphs tab to visualize your repository's data. With the dependents graph, you can now explore how repositories that contain Ruby gems relate to other repositories on GitHub.

If you're an open source maintainer, this means you can find out more about the community connected to your project in addition to projects that depend on your repository and its forks.

Screenshot of dependents page

The page starts with a list of the latest repositories to depend on your repository, making it easier to discover the newest members of your community. It also allows you to filter by either packages, which are other repositories that are gems, or applications, which are other public repositories that aren't gems themselves but use your gem.

The dependency graph works for Ruby gems today, and we plan to expand support to other package ecosystems in the future. For more on what graphs can tell you about your project, check out our Help guide on Graphs.

Search commit messages

You can now search for commits from either the main search page or within a repository. Quickly discover who removed set -e or find commits that involved refactoring.

Commit search

Check out the GitHub Help documentation for more information on how to search commits.

Save the date: GitHub Universe 2017

GitHub Universe September 2016

GitHub Universe returns in 2017, and we already have some surprises in store for you. Mark your calendars for October 10-12, 2017 at Pier 70 in San Francisco.

Super Early Bird Tickets available now

We're releasing a limited amount of tickets at a super early bird price of $199 USD. There are only 100 tickets available, so make sure to snag yours before they run out.

Audience at GitHub Universe

GitHub Universe is the three-day event for people making the future of software. Immerse yourself in creativity and curiosity with the largest software community in the world. The event is packed with advanced training, deep dives on open source projects, keynotes from industry experts, and a look into successful software teams.

Check out the videos from 2016 at githubuniverse.com.

universe_get_tickets_button

New theme chooser for GitHub Pages

You can now build a GitHub Pages website with a Jekyll theme in just a few clicks.

  1. Create a new GitHub repository or go to an existing one.
  2. Open the theme chooser in the GitHub Pages section of your repository settings.
  3. Select a theme.

Theme chooser screenshot

Using a Jekyll theme means that your website content lives in Markdown files, which you can edit as needed and manage using your favorite Git workflow.

As soon as you apply a Jekyll theme to your site, you can add more pages simply by committing new Markdown files.

The theme chooser replaces the old automatic page generator which didn't use Jekyll. Rest assured, existing GitHub Pages created with the automatic page generator will automatically use a matching Jekyll theme the first time you use the theme chooser.

Finally, the Jekyll themes in the theme chooser are all open sourced on GitHub.

For additional information, check out the documentation.

Git Merge 2017: the full agenda is now live

gitmergeheader

The complete agenda for Git Merge 2017 is now live. Check it out.

Learn how companies like Facebook, Microsoft, GitHub, Autodesk, Yubico, MIT, Atlassian, and the Software Freedom Conservancy are using Git and how you can apply their process within your team. You'll also meet other developers and join hands-on training courses.

Sample sessions

Scaling Mercurial at Facebook: Insights from the Other Side
Facebook uses Mercurial to host some of the largest, fastest growing distributed version control repositories in the world. In this session they’ll talk about the specific technical and user experience improvements they’ve open sourced to handle our growing scale, with an emphasis on lessons relevant to Git and the Git community.

Git LFS at Light Speed
Git and its extensions are becoming more popular than ever. However, certain use cases may still be suboptimal. We identified a way to dramatically improve performance in a popular Git extension—LFS (Large File Storage)—that required changes to both Git Core and the extension itself. We’ll walk you through the process of a successful contribution to each project with the help of mailing lists and pull requests. If you already have a bit of Git command line knowledge then this talk will prepare you for your first contribution to Git, an extension, or both.

Top Ten Worst Repositories to Host on GitHub
In this talk we'll see what technologies GitHub has developed to handle the more challenging repositories and use-cases, from heuristics to replication and quotas, as well as what it takes to backup this data.

Confirmed speakers

Karen Sandler - Executive Director at Software Freedom Conservancy
Karen M. Sandler is the executive director of the Software Freedom Conservancy. Karen is known for her advocacy for free software, particularly as a cyborg in relation to the software on medical devices. Prior to joining the Conservancy, she was executive director of the GNOME Foundation. Before that, she was general counsel of the Software Freedom Law Center. Karen co-organizes Outreachy, the award-winning outreach program for women. She is also pro bono lawyer to the FSF and GNOME. Karen is a recipient of the O’Reilly Open Source Award and cohost of the oggcast Free as in Freedom.

Durham Goode - Tech Lead, Source Control Team at Facebook
Durham is the tech lead on the Source Control team at Facebook. He has spent the past four years making distributed version control scale to some of the largest repositories in the world. He has helped teach thousands of engineers to use source control and has a keen interest in making it more approachable to everyone.

Caren Garcia - Implementation Engineer at BazaarVoice
Caren is an Implementation Engineer at BazaarVoice in Austin, Texas. She's an organizer for her local chapter of Women Who Code, a perennial optimist and enjoys delicious German beers, fika, tacos, and travel. She is an Alumna of and Teaching Assistant at the University of Texas.

Santiago Perez De Rosso - PhD Student, Software Design Group at MIT
Santiago P. De Rosso is a PhD student in the Software Design Group at MIT. He used to work at Google, developing tools to make engineers more productive. He currently spends most of his time thinking about how to make software and the process of software engineering better.

In-Depth Workshops

Git and the Terrible, Horrible, No Good, Very Bad Day
We searched the world over for the gnarliest, most terrifying Git scenarios we could find. In this caffeine-fueled session, you will learn how to use some of the more advanced porcelain commands to detangle all the things.

The Battle for Sub-premacy
Submodules or Subtrees? Both are proposed as solutions for handling dependencies. In this session the gloves are coming off. Which one will win it all?

Jedi Mind Tricks for Git
Learn to channel the Git force and improve your workflows using customized configurations, attributes, and hooks.

Repo 911
Is your repository out of control? Is it so unwieldy and awkward you are embarrassed to be seen with it? It's time to take control. Learn how to clean up your repository with filter-branch and BFG, then use git-lfs for a healthier tomorrow.

Git Simple: Writing Primary Git Functionalities in Ruby
Git can seem unapproachable to new users. Even more seasoned users can forget the simplicity that underpins Git. In this session, we will write the remedial functionalities of Git in Ruby. Because of Ruby's approachable syntax, no previous Ruby experience is needed to follow this talk.

See you in Brussels!

view_agenda_button

Game Off IV Highlights

Last month, we challenged you to create a game based on the theme hacking, modding, and/or augmenting. For all those that submitted entries, thank you! A little holiday gift will be working its way to your inbox shortly.

Here's a selection of some of our favorites that you can play, hack on, or learn from. Enjoy!

Sir Jumpelot

Sir Jumpelot
» Play in browser · View source

The main character (who has a strong resemblance to Hubot) must survive waves of enemies with some calculated jumping. Be careful: new mods change the game mechanics as you play. Created by @MelvinPoppelaars with Unity and hosted on itch.io.

Lighting

Lighting screenshot
» Play in browser · View source

This illuminating game is inspired by a couple of real-life hacks on MIT's Green Building and the Cira Centre in Philadelphia. Created by @hiddenwaffle using three.js, tween.js, and howler.js. Hosted on GitHub Pages.

Muntz

Muntz screenshot
» Play in browser · View source

A puzzle game inspired by the work of TV Pioneer Earl "Madman" Muntz, a TV hacker from the 1950s. Attempt to simplify increasingly complex circuits. Learn a little about American TV and broadcast history in the process. Created by @joemagiv with Unity.

Boxie Coody

Boxie Coody
» Play in browser · View source

A Sokoban-like puzzle game, where a friendly bot called Coody teaches you how to complete your work, and it gets more challenging every day. Created by @LastFlower, @LastLeaf, and @tongtongggggg. Graphics created with Inkscape, sound effects created with LMMS and GeneralUser GS. Hosted on GitHub Pages.

Pongout

Pongout
» Play in browser (mobile friendly) · View source

What happens when you remix Pong with Breakout? Pongout! Created by @kurehajime and written in JavaScript. Hosted on GitHub Pages.

Mine Hacker

Mine Hacker
» Download · View source

A dungeon-crawling, roguelike Minesweeper game in which you navigate a map of hidden tiles by using the small amount of information provided by the robot's sensors. Created by @BelowParallelStudios using Unity. Music was created with Bosca Ceoil. Graphics created with Aseprite and GIMP.

Byter

Byter
» Play in browser · View source · Download

Byter is an open source clicker game, where you have to hack various targets. Created by @KyleBanks with Unity.

Hacking in Progress

Hacking in Progress
» Download (Win) · View source

Run around the computer store in this 80s-style stealth hacking game, but be sure to avoid the clerks and security cameras. Created by @flipcoder using their very own open source 2D/3D OpenGL game engine called Qor.

Airplane

Airplane
» Play in browser · View source

Enjoy this one with a friend or coworker as you try to destroy one another's airplanes. Created by @IonicaBizau. Written in JavaScript and hosted on GitHub Pages.

The Terminal

The Terminal
» Download (Windows) · Build from source (All platforms)

A cooperative hacking game in the style of Keep Talking and Nobody Explodes. One player must hack into a computer terminal, while the other player follows instructions from the manual. Created by @Juzley and @paulo6. Written in Python using Pygame.

Hackshot

Hackshot
» Play in browser · View source

A JavaScript coding game where you programmatically control a cannon to take down hordes of incoming enemies. Created by @buch415 using CodeMirror for the code editor and syntax highlighting. Hosted on GitHub Pages.

Code Explorer

Code Explorer
» Play in browser · View source

You control a voxel programmer as he (literally) jumps through the program's code. What will happen when you reach the end? Play to quine out. Created by @michalbe using JavaScript and hosted on GitHub Pages.

Pwnterman

Pwnterman
» Play in browser · View source

The README.md file suggests it's the worst game ever made. We beg to differ. This was made in two hours, and it's controlled with Vim Key Bindings H J K L. What's not to like? Created by @joshbressers.

Unnamed Hacking Themed Game

Unnamed Hacking Themed Game
» Download (Win) · View source

Use various attacks to alter enemy defenses and objects to your advantage in this 2D action platforming game. Created by @DamienPWright using Unity.

Tech Wars

Tech Wars
» Play in browser · View source · Download (Win, Mac, Linux)

The team at Vital built a Unity game that introduces a digitally enhanced virus to a tech startup. Help your infected coworkers using your Nerf darts dipped in the antidote.

Mona's Escape

Mona's Escape
» Play in browser · View source

Here's a small demo where you play as Mona trying to escape a containment cell in Area 51. Watch out for the guards, though. Cat and octopus hybrids are are not well equipped for combat. Created by @joshuashoemaker using Pixi.js

Knot Fun

Knot Fun
» View source · Store: Android + iOS

Don't let the name mislead you. This game about untangling knots is lotsa fun.* Created by @AStox using C#, Unity, and GIMP.

* If you love untangling your earphone cords, Christmas tree lights, kids' shoelaces, etc.

TPS Report Simulator

TPS Report Simulator
» Play in browser · View source

Don't let your coworkers stop you from hacking all the terminals on your way out the door. Use the red staplers and ISP CDs to your advantage. Created by @bjshively and @spaghettioh using the JavaScript game engine, Phaser. Hosted on Heroku.

Zombie Chess

Zombie Chess
» Play in browser · View source

Using open source libraries and frameworks, Gravitywell and friends created a chess game that sees iconic rock musicians fight against contemporary EDM DJs. Built with Meteor.js, Stockfish.js (AI), chessboard.js (UI), and Howler.js (SFX).

Immolation Organization

Immolation Organization
» Download from the Apple App Store · Build from source

Take control of a mob that attempts to control a group of bad guys. Created by @EtherTyper, @AnimatorJoe, and @SamHollenbeck from Westlake High School's Accessible Programming Club using. Created with Swift and SpriteKit. Available too from Apple's App Store.

Hackable Mi

Hackable Mi
» Play in browser · View source

Guide Mi through an array of puzzles and mazes with code. Created by @Vandise and hosted on Heroku.

Octopout

Octopout
» Download (Win) · View source

In this Breakout clone, octopusses have been transformed into metal creatures. Created by @panoramix360, @guilhermekf, @fpjuni, and @stopellileo using GameMaker.

Resolve simple merge conflicts on GitHub

You can now resolve simple merge conflicts on GitHub right from your pull requests, saving you a trip to the command line and helping your team merge pull requests faster.

Demonstrating how to resolve a merge conflict

The new feature helps you resolve conflicts caused by competing line changes, like when people make different changes to the same line of the same file on different branches in your Git repository. You'll still have to resolve other, more complicated conflicts locally on the command line.

For more on merge conflicts and how to make them disappear on GitHub and on the command line, check out the GitHub Help documentation.

Publishing with GitHub Pages, now as easy as 1, 2, 3

Publishing a website or software documentation with GitHub Pages now requires far fewer steps — three to be exact:

  1. Create a repository (or navigate to an existing repository)
  2. Commit a Markdown file via the web interface, just like you would any other file
  3. Activate GitHub Pages via your repository's settings

And that's it — you now have a website. If you're already familiar with GitHub Pages, you may be interested to know that behind the scenes, we're now doing a few things to simplify the publishing experience and bring it more in line with what you may expect from authoring Markdown content elsewhere on GitHub:

  1. All Markdown files are now rendered by GitHub Pages, saving you from needing to add YAML front matter (the metadata at the top of the file separated by ---s) to each file.
  2. We'll use your README file as the site's index if you don't have an index.md (or index.html), not dissimilar from when you browse to a repository on GitHub.
  3. If you don't specify a theme in your site's config (or don't have a config file at all), we'll set a minimal, default theme that matches the look and feel of Markdown elsewhere on GitHub.
  4. If a given file doesn't have a layout specified, we'll assign one based on its context. For example, pages will automatically get the page layout, or the default layout, if the page layout doesn't exist.
  5. If your page doesn't have an explicit title, and the file begins with an H1, H2, or H3, we'll use that heading as the page's title, which appears in places like browser tabs.

These improvements should allow you to quickly and easily publish your first (or 100th) website with just a few clicks, or to document your software project by simply adding Markdown files to a /docs folder within your repository. Of course, you can continue to control the look and feel by opting in to additional customizations (such as overriding the default theme with your own layouts or styles).

While these changes shouldn't affect how most existing sites build, there are two potential gotchas for some more advanced Jekyll users:

  1. If your site iterates through all pages (e.g., for page in site.pages), you may find that there are now additional pages (such as the README of a vendored dependency) in that list. You can explicitly exclude these files with your config file's exclude directive.
  2. If you don't specify a page's layout or title, and expect either to be unset (e.g., if you need to serve unstyled content), you'll need to explicitly set those values as null.

And if for any reason you don't want these features, you can disable them by adding a .nojekyll file to your site's root directory.

So that the GitHub Pages build process can be as transparent and customizable as possible, all the above features are implemented as open source Jekyll plugins, namely Jekyll Optional Front Matter, Jekyll README Index, Jekyll Default Layout, and Jekyll Titles from Headings.

Again, these changes shouldn't affect how most existing sites build (although you can safely begin to use these features), but if you have any questions, please get in touch with us.

Happy three-step publishing!

Introducing review requests

You can now request a review explicitly from collaborators, making it easier to specify who you'd like to review your pull request.

You can also see a list of people who you are awaiting review from in the pull request page sidebar, as well as the status of reviews from those who have already left them.

gif of requesting review from sidebar

Pending requests for review will also show in the merge box. They do not affect mergability, however, so you can still merge your pull request even if you are still awaiting review from another collaborator.

image of merge box showing a requested review

Learn more about requesting reviews in our Help docs.

You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.