atlas-git-identity

    1.0.4 • Public • Published

    atlas-git-identity

    A CLI tool which sets a git repository's author based on package.json or arguments.

    Travis


    install

    npm install -g atlas-git-identity
    

    Note: make sure you install this globally (-g) unless you're using the API for a local project.

    why

    There are few things that are more annoying than Gravatar leaking your identity to nearly everything you touch with your e-hands. Similarly with git, you might be surprised when you look back on some of your commits and realize they've been authored under your real name. Some people don't care, but this really bothers me as my real name is so common, it makes everything I do much less interesting.

    Do yourself a favor and run:

    git config --global user.useConfigOnly true
    

    After running this, your machine will force you to set a local identity on all of your git projects. At least for me, this extra configuration work when I start a new project is well worth the peace of mind (i.e. my privacy). This CLI tool aims to eliminate the extra work I put on myself.

    examples

    cli tool

    After installing this package, the command below will automatically set your git identity for the current project based on your package.json's "author" field:

    git-identity
    

    If you don't have this field, you can also specify your name and email as arguments:

    git-identity atlassubbed atlassubbed@gmail.com
    

    api

    You can also do all of the above programmatically:

    const { parseAuthor, setIdentity } = require("atlas-git-identity");
    
    const stringAuthor = "atlassubbed <atlassubbed@gmail.com>"
    const author = parseAuthor(stringAuthor)
    setIdentity(author, process.cwd(), err => {
      if (!err) console.log("success!")
    })
    

    We can directly set whichever of the git config "user" fields we want:

    ...
    setIdentity({name:"atlassubbed"}, err => {
      if (!err) console.log("success!")
    })
    

    We can set any number of the git config "user" fields:

    setIdentity({name: "atlassubbed", signingkey: "123"}, err => {
      if (!err) console.log("success!")
    })
    

    caveats

    At first, this package automatically ran git config --global user.useConfigOnly true to remove that step as well, however it's a bad idea because it may not be desired on some machines. Furthermore, the step only needs to be run once and is entirely optional, so it's not a problem. Please run this command separately if you would like to force a local identity on your git projects.

    Install

    npm i atlas-git-identity

    DownloadsWeekly Downloads

    3

    Version

    1.0.4

    License

    Apache-2.0

    Unpacked Size

    16.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • atlassubbed