Slashdot Mirror


A Dedicated Shell For Git Commands

Nw submitter CMULL writes "Stop typing Git over and over again. Ruby on Rails development and consulting firm thoughtbot created an interactive shell dedicated to Git commands, gitsh. One of the primary developers says there is a need for this shell because many early Unix utilities don't take sub-commands like Git."

6 of 96 comments (clear)

  1. why not just use shell aliases? by AndroSyn · · Score: 5, Informative

    alias gstatus='git status'
    alias gcommit='git commit'

    Or whatever other commands you want? I don't see the need for a purpose built shell when aliases would work just fine?

    Some people just want to overengineer things I guess...

    1. Re:why not just use shell aliases? by phantomfive · · Score: 5, Insightful

      "Those who fail to understand Unix are doomed to reimplement it, poorly."

      --
      "First they came for the slanderers and i said nothing."
  2. Comprehension Failure by Anonymous Coward · · Score: 5, Informative

    The developer in the article does not "say there is a need for this shell because many early Unix utilities don't take sub-commands", as the summary says. Rather, he motivates the idea of gitsh by comparing it to utilities which act in a shell-like manner (he picks dc as an example): if it works for them, why not for git too?

    The first version (from the summary) makes no sense; the second version (from the article) seems like a reasonable argument to me.

    Rather than fucking beta, how about we try to get the fucking summaries correct?

  3. It's three letters by Arancaytar · · Score: 4, Insightful

    Effort-wise, switching into and out of a git-specific shell just to save those three letters is a huge hassle and not worth it. (The tab completion thing is not an advantage; regular git already does that in bash.)

    For any actual development work you'll keep using both git and non-git commands; opening text editors, diffing and patching outside git, running scripts and shell snippets or sed commands. How do you pass those out of the git shell? Using an exclamation mark, like in ed? That really just inverts the problem, adds the problem of remembering whether you're currently in gitsh or bash, and adds confusion between the two environment variable scopes.

  4. gitshell by defaria · · Score: 5, Funny
    $ while true; do
    > echo -n "GitShell:"
    > read command
    > git $command
    > done

    Well that was easy!

  5. Mark as duplicated by RockoW · · Score: 5, Informative

    There is already a git-sh . It even have a debian package included on the main repos.