Skip to content

Instantly share code, notes, and snippets.

@eversionsystems
Last active March 27, 2020 03:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eversionsystems/0733cf63cfc269533f67b854ff5b22e8 to your computer and use it in GitHub Desktop.
Save eversionsystems/0733cf63cfc269533f67b854ff5b22e8 to your computer and use it in GitHub Desktop.
How to tell Git which SSH Key to use - WPEngine Scenario with multiple accounts
#Examples of using WP Engine to setup repositories. If both sites are on the same account you can use the same private key.
#Windows user file c:\users\user\.ssh\config
Host website1
User git
Hostname git.wpengine.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/key_rsa
IdentitiesOnly yes
Host website2
User git
Hostname git.wpengine.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/key_rsa
IdentitiesOnly yes
#Config file in GIT directory of local install website 1. We use "prod" as the alias for the remote
#Typical format for a WPEngine remote URL is git@git.wpengine.com:production/websiteremote.git
#We can replace git@git.wpengine.com with your host name setup.
#Here is an example of .git\config file for website1 project folder
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "prod"]
url = website1:production/xxxprod.git
fetch = +refs/heads/*:refs/remotes/prod/*
[remote "staging"]
url = website1:production/xxxstaging.git
fetch = +refs/heads/*:refs/remotes/staging/*
@khoipro
Copy link

khoipro commented Mar 27, 2020

So we need to add .git/config in each project folder @eversionsystems?

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "prod"]
	url = website1:production/websiteremote.git
	fetch = +refs/heads/*:refs/remotes/prod/*

@eversionsystems
Copy link
Author

eversionsystems commented Mar 27, 2020

@khoipro Yes each project folder has it's own .git/config, that's the basis of how git works. The trick is setting up the SSH config to define multiple websites to use the same git user but assign different hostnames.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment