Hacker News new | ask | show | jobs
by seodisparate 680 days ago
Or using .ssh/config since entries in there act like hostnames:

    # ~/.ssh/config
    Host github_ssh
        HostName github.com
        User git
        IdentityFile ~/.ssh/my_github_key

    > git remote add github github_ssh:Username/RepoName.git
This has worked reliably for me for quite a while now.
1 comments

However, this doesn't work well with git submodules, because then everyone cloning the repo must recreate this config. (Just something to be aware of.)
It works fine if coupled with URL replacement.

The custom hostname will be replaced transparantly for you and won't need to make it into gitmodules.

    # ~/.config/git/config
    # Only for single user/org
    [url "git@github_ssh:foo"]
      insteadOf = "git@github.com:foo"

    # all the things
    [url "git@github_ssh"]
      insteadOf = "git@github.com"
Similar pattern if you want to force-use ssh instead of https or vice-versa.