Github does dotfiles is a good place to start if you want to dig into
keeping non-sensitive config files in a repository:

https://dotfiles.github.io/

On 19 April 2016 at 10:33, Erik Bray <[email protected]> wrote:

> On Tue, Apr 19, 2016 at 10:58 AM, Paul Wilson <[email protected]>
> wrote:
> > On 04/19/2016 02:27 AM, Erik Bray wrote:
> >>
> >> On Tue, Apr 19, 2016 at 2:48 AM, Bennet Fauber <[email protected]>
> wrote:
> >>>
> >>> In mucking about trying to become a certified (not certifiable!) SWC
> >>> instructor, I managed to mangle Github pretty badly.  But, something
> >>> came of it that, if it isn't something you've done for just ages, you
> >>> might find useful if you need to have two Github identities going at
> >>> once and you like to use ssh keys.
> >>>
> >>> I have one identity, justbennet, and another carpenterbennet.  One I
> >>> use for my real self, and one I use for workshops (say).  Under normal
> >>> circumstances, if I check my git configuration for repos from each
> >>> account, it would look something like one of these two entries:
> >>>
> >>> [email protected]:
> carpenterbennet/r-novice-gapminder.git
> >>>
> >>> [email protected]:justbennet/r-novice-gapminder.git
> >>>
> >>> My One True ssh key only works with one of those.  Maybe it's possible
> >>> to munge that line with ssh options to specify the key to use; I
> >>> didn't find one.  But, I did find that ~/.ssh/config can be used.  My
> >>> first pass was to use
> >>>
> >>>
> >>> Host github.com
> >>>      IdentityFile /Users/bennet/.ssh/justbennet
> >>>      # IdentityFile /Users/bennet/.ssh/carpenterbennet
> >>>
> >>>
> >>> and I would modify the file when I needed the other key.  "But this
> >>> solution did not satisfy me fully."[1]  Then something clicked, or
> >>> snapped, and consulting the man page for ssh_config, I arrived at
> >>> this.
> >>>
> >>> First, modify the ~/.ssh/config file so it has something like this in
> it
> >>>
> >>>
> >>> Host carpenter-git
> >>>      HostName github.com
> >>>      IdentityFile /Users/bennet/.ssh/carpenterbennet
> >>> Host just-git
> >>>      HostName github.com
> >>>      IdentityFile /Users/bennet/.ssh/justbennet
> >>>
> >>>
> >>> Then, for your existing git configurations, change the hostname used
> >>> from github.com to what appears as the Host in your ~/.ssh/config,
> >>> thusly,
> >>>
> >>>
> >>> remote.origin.url=git@carpenter-git
> :carpenterbennet/r-novice-gapminder.git
> >>>
> >>> remote.origin.url=git@just-git:justbennet/r-novice-gapminder.git
> >>>
> >>>
> >>> If you want to clone a repo, make the same substitution on the clone
> >>> command, i.e.,
> >>>
> >>> $ git clone [email protected]:carpenterbennet/r-novice-gapminder.git
> >>>
> >>> would become instead
> >>>
> >>> $ git@carpenter-git:carpenterbennet/r-novice-gapminder.git
> >>>
> >>> or
> >>>
> >>> $ git clone git@just-git:justbennet/r-novice-gapminder.git
> >>>
> >>> and it appears that git takes that hostname and stores it in its
> >>> config, so if you clone that way you don't have to remember to modify
> >>> git's configuration after.
> >>>
> >>> I did this from a Mac, but it should work equally well from Linux, BSD,
> >>> et al.
> >>>
> >>> Sorry for the noise if that's old hat to everyone, but I thought it
> >>> was a neat trick and maybe someone might find some use from it.
> >>
> >> Actually, yeah! Thanks for this.  I have two GitHub accounts--one for
> >> professional use, and one for personal use.  But I kind of gave up on
> >> the personal one for exactly the issue you described.
> >>
> >> This is a clever workaround which I haven't seen before.  I'll have to
> >> give it a try.
> >
> >
> > ... and if you keep your .ssh/config in a repo (although probably not
> your
> > private keys :) ), then you can easily replicate this on any system you
> land
> > on.
>
> In fact...I would recommend keeping most non-sensitive config files
> from your home directory in a repository.  I keep all mine in a
> private mercurial repo (including a few branches for specific
> platforms and systems :)
>
> Erik
>
> _______________________________________________
> Discuss mailing list
> [email protected]
>
> http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
>
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to