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
