On Tue, 19 Apr 2016 10:53:22 +0100
Robert Beagrie <[email protected]> wrote:

> 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/

Also checkout https://github.com/RichiH/vcsh

Inigo


> 
> 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