Advanced GitHub Integration: Rebase My GitHub Fork

Hello guys,

We’ve already described the basic GitHub integration features on IntelliJ IDEA before. Here comes more advanced stuff.

We’ve made lots of improvements since then, but the main new thing to talk about is GitHub rebase support. GitHub provides an easy way of forking someone’s repository, however it is pretty natural for the development to keep your sources up-to-date. In the latest version of the IntelliJ GitHub plugin you can rebase your own fork onto the origin in several clicks.

Here is a small howto:

  • Let us consider that we had forked someone’s repository on the github.com, and have checked out your own fork using Checkout From the GitHub action. In this case you’ll notice a new menu item: Version Control | Git | Rebase my GitHub fork
  • In order to rebase onto the origin repository it is necessary to add it as new remote. But you’ll be prompted to add it automatically.
  • After having your origin successfully configured you’ll be able to rebase your own fork.

And yet another small but useful feature is the ability to quickly browse your code on the Internet. Open in browser is available from the context menu.

All GitHub features are available even if you have your own GitHub installation (http://fi.github.com), just configure the GitHub host in IDE settings and voila, everything works out of the box!

The next major feature scheduled is the support for github pull requests and full roadmap is available here. Do not hesitate to let us know what you think about and if you’d like any other GitHub specific functionality to be added. Enjoy using GitHub with IntelliJ GitHub integration!


And watch this short screencast demoing creating a new GitHub repository from IntelliJ IDEA project and cloning an existing one as a new project (also available at JetBrains.TV).


-Develop with pleasure!
JetBrains Team

This entry was posted in Demos, New Features and tagged , , . Bookmark the permalink.

14 Responses to Advanced GitHub Integration: Rebase My GitHub Fork

  1. harryhoppel says:

    No video for iOS users? Weird!

  2. Timur says:

    Hey,

    Thanks for the integration with Github, that’s awesome!
    What about RubyMiwe, will this feature be integrated in to it?

    Thanks,
    Timur

  3. yole says:

    Timur,
    GitHub integration will be included into RubyMine 3.1.

  4. What we really need is git add -p :-P

  5. Oleg Shpynov says:

    Actually before commit you are shown with changed files to be added to the index, just select desired file, press Ctrl+D and voila, you can inspect all the changes in this particular file to be included. See for more details: http://www.jetbrains.com/ruby/webhelp/commit-changes-dialog.html

  6. Kirill.Likhodedov@jetbrains.com says:

    Oleg, that’s another feature. “add -p” allows to select particular code chunks to be stored in the index and then committed.

  7. Oleg Shpynov says:

    Yep, I know that it is not the exactly desired functionality, only the workaround was described.

  8. Well, most of the time I end up working on many things at a time, all too minor to stash my stuff, create a new branch, work there and merge back. So I end up dis-entangling chucks within one file via -p (sometimes even need to split)… Therefore your workaround won’t work for me. Thanks for sharing anyway….

  9. Peter says:

    I was trying to import into github where you need to go Version Control >> Import into Version Control >> Share Project on GitHub

    The login pop-up appears, enter details, try login and fails.

    Am I doing something wrong?

    I do have github account and I can log in through website no problems at all

  10. Peter says:

    OK, solved. Do not use whole email address just login name. Wonder why you cannot log with email address…

  11. Flemming says:

    If I use the Git context menu (or the Version Control->Git menu item) and select Pull changes… I am getting a dialogue box in which I can select which branch to merge and Remote. When I click the “Pull” button I am shown a modal progress indicator in which the bottom line says Password: – but there is not input field, and I am not given any opportunity to enter the password anywhere – how do I get around that?

    I have already configured Github settings and can authenticate against github. I have also entered my git API token in my .gitconfig file so I can use the git command in my terminal without entering my github password all the time, and finally I have configured a ssh public key for github – but none of this have had any effect in Idea (using 10.5.1). What else should I try?

  12. mark says:

    Hi. The images links are broken. Can you fix them? Looks like a good post!

  13. @mark, fixed! Thanks for noticing

  14. Eugen Martynov says:

    Hi,

    Is it doing real rebase or cherry pick the commits from upstream?

    Eugen

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>