PHPStorm, Github, Bitbucket SSH key integration
I'm struggling with getting this setup. I want to use Github for public repositories and BitBucket for private repositories. I've created the SSH key pairs and registered with both: id_rsa and id_rsa_bb. These exist in ~/.ssh/ i have a config file for gh and bb with the right information in. From terminal I can interact as I would expect.
PHPStorm is set up to use Git. The path to git executable is set and tested. I have set up user id and password for Github and tested (but I don't really want to use this, I want to use SSH keys.) SSH is using built-in. BitBucket plugin is downloaded and installed from that chaps fork, not from Atlassian (sorry, I forget his name.) Login and password is set in preferences for the plugin and tested.
So, switching to PHPStorm, these are my scenarios I'm trying to test:
- No Github repository, create PHPStorm project. Add file. Commit to Git. Push to Master: create remote repository and push file.
- Github repository, clone PHPStorm project from that. Add file. Commit to Git. Push to Master - file added to remote repository
- No BitBucket repository, create PHPStorm project. Add file. Commit to Git. Push to Master: create remote private repository and push file.
- BitBucket private repository, clone PHPStorm project from that. Add file. Commit to Git. Push to Master - file added to remote repository
What I don't know of course is what is/isn't possible with PHPStorm so that doesn't help. I don't find the inbuilt help that helpful in this case although it does mention having to have SSH keypairs in ~/.ssh with the default name and a config file if using different keys.
Can anyone help me work out what I need to do in PHPStorm in each of these scenarios?
Thanks,
Andrew
Please sign in to leave a comment.
Hi
I know, that this post is very old, but probably I found a solution.
You have to set different ssh client to use by IntelliJ, WebStorm etc.
Go to:
File -> Settings -> Version COntrol -> Git -> SSH executable: Native
Then settings from terminal ssh will by applied.
Scenario 1 I think I have almost working so that may do for me. Create a git repository remotely, no files. In PHPStorm, create a project, add a file, add to git local, commit. I have the github preference set to github.com with my userid and an invalid password (if I test, it won't work.) So, in PHPStorm, Push... this brings up a dialog which requires me to Define Remote. I do this with a URL git@github.com:username/reponame.git. That seems to work and I'm assuming is using SSH key because the github config in preferences has the wrong password.
If that is the case, then I think I'm good to go. Not quite my scenario 1 but close enough frankly.
Interestingly, I could start with no remote repository and "Share project on Github" and that works BUT I have to enter user id and password. Not what I want.
I thought I had Bitbucket working as well using the same overall approach. When defining remote I entered git@bitbucket.org:username/reponame.git but it errored with using the SSH key id_rsa. So somewhere it isn't picking up the config I've set in ~/.ssh. Any ideas?
Regards
Andrew
Sorry if I'm answering my own questions! I tried for ages to get this going (and I'm pretty new to this stuff) but it all seems to have clicked now.
For BitBucket, I had the ~/.ssh/config defined incorrectly. I used bitbucket.org for HostName not Host; changing Host to bitbucket.org and then defining remote using the url git@bitbucket.org:user/reponame.git picked up the correct SSH key to use.
I guess to recap for others:
I suppose the thing to remember is that "Define Remote" has to be done for every new project at the first push and that the remote repository (master) has to exist. I daresay there's something I've missed to make it easier but it would be good if this could all be done within PHPStorm preferences.
Regards
Andrew
This is not applicable anymore, since this option has been removed, but the problem still persists with PhpStorm 2019.1
Eugen, please clarify what VCS service you're using, and what does the IDE log have in it when you are trying to push/pull to this service.