Skip to content

Migrate your code with the GitHub Importer

If you have source code in Subversion, Mercurial, Team Foundation Server, or another Git repository, you can now quickly and easily move that code to GitHub with the GitHub Importer. It will move your code and then notify you (via email or in your browser) when your newly populated GitHub repository is ready for action.

Access the GitHub Importer directly from, or use the import feature to migrate your code when you create a new repository on Your repository will join over 400,000 that have used this feature to move to GitHub!

Importing a repository

For more on migrating your source code, see "Importing your project to GitHub" in GitHub Help.

GitHub Pages now faster and simpler with Jekyll 3.0

GitHub Pages is now running the latest major version of Jekyll, Jekyll 3.0, and with it, many of the complexities associated with publishing have been further simplified, meaning it's now easier and faster to publish beautiful sites for you and your projects.

A more intuitive Markdown experience

If you're familiar with using Markdown to author issues, pull requests, or comments on, writing Markdown for GitHub Pages sites will now be equally as intuitive. Markdown may be the lingua franca of the open source community, but that doesn't mean that certain regional dialects haven't emerged over the years. Traditionally, authors have had to choose between several different Markdown engines, each with their own interpretations of how Markdown should work.

Starting May 1st, 2016, GitHub Pages will only support kramdown, Jekyll's default Markdown engine. If you are currently using Rdiscount or Redcarpet we've enabled kramdown's GitHub-flavored Markdown support by default, meaning kramdown should have all the features of the two deprecated Markdown engines, so the transition should be as simple as updating the Markdown setting to kramdown in your site's configuration (or removing it entirely) over the course of the next three months.

The highlight zone

GitHub Pages now only supports Rouge, a pure-Ruby syntax highlighter, meaning you no longer need to install Python and Pygments to preview your site locally. If you were previously using Pygments for highlighting, the two libraries are feature compatible, so we'll swap Rouge in for Pygments when we build your site, to ensure a seamless transition.

Traditionally, highlighting in Jekyll has been implemented via the {% highlight %} Liquid tag, forcing you to leave a pure-Markdown experience. With the kramdown and Rouge as the new defaults, syntax highlighting on GitHub Pages should work like you'd expect it to work anywhere else on GitHub, with native support for backtick-style fenced code blocks right within the Markdown.

Need for speed

Jekyll 3.0 offers several improvements for previewing and optimizing your site locally. For one, local builds are significantly faster, meaning you can preview your changes in near real time, and with incremental regeneration support (experimental), builds can be even faster still.

Jekyll 3.0 also introduces a liquid profiler. By adding --profile to the build or serve command, Jekyll will analyze your site's build time, so you can see exactly where things can be sped up, ensuring you spend more time authoring content, and less time waiting for your site to build.

Profiler output

Two additional changes

The Jekyll 3.0 upgrade will introduce two additional changes that may affect a small subset of users:

  1. Jekyll no longer supports relative permalinks. This has been the default since Jekyll 2.0, and is only an issue if you explicitly added relative_permalinks: true to your site's configuration. Going forward, regardless of your site's configuration, if you add the permalink directive to a page's YAML front matter, the path should be relative to the site's root directory, not the page's parent.

  2. Starting May 1st, 2016, GitHub Pages will no longer support Textile. If you are currently using Textile (Redcloth) to author your Jekyll site, you'll need to convert your site to use Markdown instead.

The changes introduced today promise to make GitHub Pages a faster, more intuitive experience for new and power users alike. For more information on upgrading, see Jekyll's 3.0 upgrade guide, and if you have any questions about Jekyll 3.0, the upgrade process, or just GitHub Pages in general, please get in touch with us.

Happy (simplified) publishing!

Improved commenting with Markdown


You’ll notice there’s a new Markdown text-formatting toolbar on all the comment fields throughout GitHub. While you've always been able to use Markdown to format your text with links, headers, italics, and lists, the new toolbar allows you to do so without learning Markdown syntax.

The toolbar includes a limited set of tools that gets out of the way of experts, but helps those new to GitHub to write just as clearly, and expressively as anyone else. Neat.


In addition to standard Markdown formatting, the toolbar also includes GitHub-specific features. @mentions bring additional users or teams into the conversation, issue and pull request links allow you to cross-reference related discussions, and task lists track outstanding tasks. They’re now available to you with a single click.

A new look for repositories

Repositories on GitHub are about to get a brand new look. The new design improves navigation and simplifies page layout, all while improving the code and performance under the hood. Over the course of the next two weeks, we'll be rolling out the option to opt-in to the new design from any of your repositories with the click of a button.

New GitHub repository screenshot

The collapsing side menu is now a single, always present navigation at the top of every page within a repository. This improves accessibility, makes navigating more coherent, and allows you to always see the labels for each tab without requiring tooltips.

New clone toolbar screenshot

The Code tab now more prominently emphasizes cloning. Clone with confidence using the redesigned protocol switcher, which now contains explicit menu items with explanatory text for each cloning method instead of simple text links.

Example GitHub issue

With the navigation at the top, it's easier to focus on what matters most to you: your content on the page. For example, with the extra horizontal space, issues and pull requests are simpler with a wider and more legible sidebar.

Large changes like this one can be disruptive. To help make the transition as smooth as possible for you, the new design is opt-in for the next two weeks, and after that, you'll switch over automatically.

We're super excited to share the new design with you and can't wait to keep iterating on it moving forward. Enjoy, and happy collaborating!

Start Learning Git and GitHub Today with Self-Paced Training

Can't wait for the next live course to get started with Git and GitHub? If so, we have an on-demand training option designed just for you.

GitHub for Developers is a self-paced course that distills best practices and documentation into a focused series of interactive lessons and covers the two most important things you need to know:

  1. Using Git to confidently manage your source code
  2. Using GitHub to collaborate with your team

GitHub for Developers is designed for command-line users who are new to Git and GitHub. This course will help you master the basics of both, from performing essential Git operations to dealing with merge conflicts in Pull Requests. You will even rewrite a bit of project history and learn how to undo almost anything with Git. The course will cover the following sections:

  • Section 1: Introducing Git and GitHub
  • Section 2: Getting Started with Collaboration
  • Section 3: The GitHub Workflow: Branching and Committing
  • Section 4: The GitHub Workflow: Pull Requests
  • Section 5: Setting up Git
  • Section 6: Using GitHub Locally
  • Section 7: The Workflow End-to-End
  • Section 8: Working with Local Files
  • Section 9: Fixing Common Issues with Git
  • Section 10: Creating Shortcuts

We've chosen the Wheelhouse education platform to deliver realistic, hands-on projects for an immersive learning experience. You will watch short videos from the GitHub training team, complete exercises to put your new knowledge to work, and receive immediate feedback on the tasks you complete. You will even be guided in practicing skills within your personal account.

For a limited time, we're teaming up with Wheelhouse to offer complimentary access to the GitHub for Developers self-paced course in exchange for your feedback.

To get started, go to and click the On Demand tab.

Git Large File Storage v1.0

After months of letting our early adopters kick the tires, Git Large File Storage (Git LFS) has reached a 1.0 milestone and is now available to all repositories on

Git LFS is an open source Git extension that we released in April for integrating large binary files into your Git workflow. Distributed version control systems like Git have enabled new and powerful workflows, but they haven’t always been practical for versioning large files. Git LFS solves this problem by replacing large files with text pointers inside Git, while storing the file contents on a remote server like

We’re hugely appreciative of the community that’s sprung up around Git LFS. This milestone contains features and fixes that came directly from your feedback and pull requests. Some notable changes include:

  • A fully rewritten HTTP client and API specification that improves concurrency and reduces overhead when transferring thousands of files
  • New git lfs fetch and git lfs pull commands that download objects much faster than the standard Git smudge filter
  • Options for customizing what files are automatically downloaded on checkout
    • Selectively ignore a directory of large files that you don’t need for daily work
    • Download recent files from other branches
  • Improvements to git lfs push that filter the number of commits to scan for eligible LFS objects to upload. This greatly reduces the time to push new feature branches
  • A Windows installer and Linux packages for more convenient installation
  • An experimental extension system for teams that want to customize how objects are stored on the server

Git LFS is now available to all users on, just install the client to get started.

GitHub supports Universal 2nd Factor authentication

To help users better secure their accounts, we are expanding GitHub's authentication system to support FIDO Universal 2nd Factor (U2F)—a rapidly growing open authentication standard.

GitHub encourages developers to build U2F support into their own applications as well, enabling authentication with simple user experience and strong security using public key cryptography. U2F is built to protect against phishing and man-in-the-middle attacks, allowing one U2F authenticator to access any number of services without any shared secrets. Since U2F has native support in platforms and browsers, there’s no need for drivers or client software. Read more about how U2F keys work or take a look at the GitHub U2F documentation to learn how to associate a U2F key with your GitHub account.

In order to take advantage of the security improvements provided by U2F, you'll need to purchase a hardware key. You can purchase the U2F key of your choice from a range of vendors. We are partnering with Yubico, inventor of the YubiKey, co-creator of the U2F protocol, and a leading provider of U2F authenticators. Together with Yubico we are offering discounts to GitHub users for a limited time through a special offer page where you will verify your GitHub account and place your order:

  • While supplies last, GitHub users can purchase special edition U2F Security Keys for $5 plus shipping and handling (regular price $18; 5,000 special edition keys available).
  • After the special keys are gone, all GitHub users are eligible for a 20% discount on U2F-certified YubiKeys, for a limited time.
  • In addition, all students who are eligible for the Student Developer Pack will receive a 20% discount on any U2F-certified YubiKey.

We hope you'll take this step to keep your information secure.


New organization permissions now available

We've begun rolling out major improvements to GitHub organization permissions to all organizations on These improvements include new customizable member privileges, fine-grained team permissions, and more open communication. Over the next few days, all organization owners will be able to take advantage of the new system.

Announced a few short months ago, these improvements give your organization the flexibility to work the way you want. To recap, here are just a few highlights:

  • (Opt-in) Members can view and mention all teams, even when they're not on those teams.
  • (Opt-in) Members can create repositories without help from an owner.
  • Members can create new teams to self-organize with the people they work with.
  • Owners can give just the right amount of access to contractors and interns by adding them to repositories without giving them the privileges of organization members.
  • And many more! Learn about GitHub's improved organization permissions.

Coding together just got easier.

Complete Schedule for GitHub Universe

You've been asking for it, and we're ready to share the complete GitHub Universe schedule. Each day will start off at 8:30AM with registration and breakfast. You'll want to be in your seat by 10AM for the opening keynotes from GitHub:

  • Chris Wanstrath, Co-founder and CEO
  • Nicole Sanchez, VP of Social Impact

Then you can hear from some of the industry's best thinkers in our featured sessions:

  • Dr. Yvonne Pendleton, Director of SSERVI, NASA
  • Kellan Elliot-McCrea, former CTO, Etsy
  • Dr. Michael B. Johnson, Pre-production Software Architect, Pixar
  • Anil Dash, Co-founder,
  • Tiffani Ashley Bell, Co-founder & Executive Director, Detroit Water Project
  • Marianna Tessel, SVP of Engineering, Docker
  • Marco Annunziata, Chief Economist, GE

Packed into both days are 24 breakouts featuring people from across the tech community. Whether you want to learn best practices on collaboration directly from GitHub or hear how some of the best companies are building great software, Universe will keep you busy. Here are a handful of sessions you can look forward to:

  • Democratic Deploys at Airbnb from Igor Serebryany, who will discuss Airbnb's process for shipping code efficiently and safely
  • Building Communities Around Open Source Security Software from Christine Abernathy and Teddy Reed at Facebook.
  • Pull requests, code review, and the GitHub flow from GitHub's own Brent Beer
  • Metrics-driven Development from Spotify engineer and Python Foundation Board member, Lynn Root
  • Keep your code secure with GitHub Security Best Practices from GitHub Services Engineer, Matt Duff

That's a sample of the full schedule. Also hear from speakers from Autodesk, GE, Target, Bloomberg, and Mozilla. Developer tool fans won't want to miss Josh Kalderimis, CEO of Travis CI, or James Smith, CEO of Bugsnag. You can even learn how to build desktop apps using web technologies with Electron.

And, of course, you are invited to an afterparty on Thursday, October 1st, with three floors of music, food, beverages, and plenty of space for socializing.

We have a couple other tricks up our sleeves that you'll just have to come to Universe to see. We hope you'll join us on October 1st and 2nd for our first conference to celebrate the GitHub community. If you need help getting to Universe, don't forget about our scholarship program.

Tickets are still available, we'll see you in a couple weeks.

Easier feeds for GitHub Pages

If you publish a blog using GitHub pages, it's now easier for others to subscribe to updates. The Jekyll Feed plugin, now available to all GitHub Pages sites, can automatically generate an Atom (RSS-like) feed of your most recent posts.

While it's always been possible to generate feeds using hand-written XML, the Jekyll Feed plugin includes a battle-tested template that handles things like encoding issues and relative URLs, allowing you to concentrate on what matters: your content.

For more information, including installation instructions, see the Feeds for GitHub Pages help article.

Happy syndicating!

Protected branches and required status checks

It’s all too easy to force push to the wrong branch, overwriting someone else’s changes with your own. Sometimes it results in losing work (unless you know how to undo almost anything in Git).

Over the next few weeks we’ll be rolling out a new feature called Protected Branches which gives repository administrators the ability to disable force pushes to specific branches. When it’s enabled for your repositories you’ll be able to go to the Branches tab in repository settings and protect branches:

Repository Branches settings page

In addition to blocking force pushes, a protected branch can have required status checks. Required status checks make integrations that use our Status API enforceable and you can disable the merge button until they pass:

Pull Request merge area with required status checks

When using required status checks, your branch must be up-to-date to ensure your tests will pass after merging. The new “Update branch” button lets you merge the latest changes from the base branch of the Pull Request with one click.

Pull Request merge area with Update branch button

GitHub Universe: The Big Bang


GitHub Universe is bringing the GitHub community together on October 1st & 2nd at Pier 70 in San Francisco. Universe is two full days on how to build, collaborate, and deploy great software presented by GitHub.


The first batch of tickets is now on sale for $399! Grab yours before this limited release is gone, and prices increase by $200 on September 1st. While you're at it, you can purchase a scholarship ticket, which will then be granted to someone from an underrepresented community who would be unable to attend otherwise.


Universe will take place over two days, packed with content:

  • 2 Keynotes, including GitHub Co-founder & CEO, Chris Wanstrath
  • 6 Featured sessions from industry leaders
  • 24 Breakout sessions from customers, partners, and members of the GitHub community

In addition to sessions from GitHub engineers and trainers about Enterprise, security and the GitHub flow, you'll hear from organizations like NASA, Mozilla, Target, and Travis CI on technical deep-dives, best practices, case studies, and more.


If you're coming from out of town, book a discounted room at the W San Francisco while they last. Quantity is limited and the discount period ends September 11th.

Great software is about more than just code. GitHub Universe is a celebration comprised of two full days of sessions, activities, and collaboration with the most vibrant software community. Part festival, part conference, GitHub Universe is not to be missed. Will you be there?

GitHub Desktop is now available

The new GitHub Desktop is now available. It's a fast, easy way to contribute to projects from OS X and Windows. Whether you're new to GitHub or a seasoned user, GitHub Desktop is designed to simplify essential steps in your GitHub workflow and replace GitHub for Mac and Windows with a unified experience across both platforms.


Branch off

Branches are essential to proposing changes and reviewing code on GitHub, and they’re always available in GitHub Desktop’s repository view. Just select the current branch to switch branches or create a new one.


Craft the perfect commit by selecting the files—or even the specific lines—that make up a change directly from a diff. You can commit your changes or open a pull request without leaving GitHub Desktop or using the command line.

Merge and Deploy

Browse commits on local and remote branches to quickly and clearly see what changes still need to be merged. You can also merge your code to the master branch for deployment right from the app.


Ready to start collaborating? Download GitHub Desktop. If you're using GitHub for Mac or Windows, the upgrade is automatic.

Improving map data on GitHub

You've been able to view and diff geospatial data on GitHub for a while, but now, in addition to being able to collaborate on the GeoJSON files you upload to GitHub, you can more easily contribute to the underlying, shared basemap, that provides your data with context.

The basemap we use — the layer that includes common elements like roads, rivers, and buildings over which your data is displayed — is powered by OpenStreetMap. You can think of OpenStreetMap somewhat like Wikipedia for geospatial data. It's a community of mappers and an open, collaborative dataset.

Next time you view a GeoJSON file on GitHub, if you spot something that looks a bit off, simply click the "improve the underlying map" link in the top right corner of the map. From there, you can edit the map in your browser with a few clicks, or if you're in a hurry, you can leave a note for an editor to review later.

example of clicking improve this map link

Last year millions of people used GitHub to collaborate on geospatial data. By making it a little easier to contribute back, we hope that the GitHub community can support the OpenStreetMap community, without which none of this would be possible.

Happy social mapping!

Take an early look at the new GitHub Desktop

If you would like a sneak peek at a new way to contribute to GitHub from your desktop, sign up for our First Look program. Opting in will give you early access to upcoming features and updates. You'll also have the opportunity to help shape the quality and direction of GitHub's desktop app. We'd love to hear what you think.

Something went wrong with that request. Please try again.