{"id":13529636,"url":"https://github.com/rtomayko/git-sh","last_synced_at":"2025-04-01T17:30:36.255Z","repository":{"id":419767,"uuid":"39566","full_name":"rtomayko/git-sh","owner":"rtomayko","description":"A customized bash environment suitable for git work.","archived":true,"fork":false,"pushed_at":"2023-05-31T16:23:52.000Z","size":97,"stargazers_count":735,"open_issues_count":16,"forks_count":84,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-04-15T22:19:13.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtomayko.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGES","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2008-08-03T08:12:31.000Z","updated_at":"2024-03-23T21:29:27.000Z","dependencies_parsed_at":"2023-07-08T09:00:52.545Z","dependency_job_id":null,"html_url":"https://github.com/rtomayko/git-sh","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomayko%2Fgit-sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomayko%2Fgit-sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomayko%2Fgit-sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtomayko%2Fgit-sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtomayko","download_url":"https://codeload.github.com/rtomayko/git-sh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213481372,"owners_count":15593643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:00:38.112Z","updated_at":"2024-08-01T07:04:12.874Z","avatar_url":"https://github.com/rtomayko.png","language":"Shell","readme":"git-sh\n======\n\nA customized bash shell suitable for git work.\n\nThe `git-sh` command starts an interactive bash shell tweaked for heavy git\ninteraction:\n\n  * All git commands available at top-level\n    (`checkout master` = `git checkout master`)\n  * All git aliases defined in the `[alias]` section\n    of `~/.gitconfig` available at top-level.\n  * Shawn O. Pearce's excellent bash completion strapped onto\n    all core commands and git aliases.\n  * Custom prompt with current branch, repository, and\n    work tree dirty indicator.\n  * Customizable via `/etc/gitshrc` and `~/.gitshrc` config files;\n    for creating aliases, changing the prompt, etc.\n  * Runs on top of normal bash (`~/.bashrc`) and\n    readline (`~/.inputrc`) configurations.\n\nStatus\n------\n\n*This repository is no longer actively maintained by @rtomayko as of 2017-11-08. Issues and PRs documenting current issues have been intentionally left open for informational purposes.*\n\nInstallation\n------------\n\nInstall the most recent available version under `/usr/local`:\n\n    $ git clone git://github.com/rtomayko/git-sh.git\n    $ cd git-sh\n    $ make\n    $ sudo make install\n\nStart a shell with `git-sh`:\n\n    $ git-sh\n    master!git-sh\u003e help\n\nUse the `PREFIX` environment variable to specify a different install location.\nFor example, under `~/bin`:\n\n    $ make install PREFIX=~\n\nBasic Usage\n-----------\n\nTypical usage is to change into a git working copy and then start the shell:\n\n    $ cd mygreatrepo\n    $ git sh\n    master!mygreatrepo\u003e help\n\nCore git commands and git command aliases defined in `~/.gitconfig` can be\nused as top-level commands:\n\n    master!mygreatrepo\u003e checkout -b new\n    new!mygreatrepo\u003e log -p\n    new!mygreatrepo\u003e rebase -i HEAD~10\n\nIt's really just a normal bash shell, though, so all commands on `PATH` and any\naliases defined in `~/.bashrc` are also available:\n\n    new!mygreatrepo\u003e ls -l\n    new!mygreatrepo\u003e vim somefile\n\n*IMPORTANT: `rm`, `mv`, and `diff` are aliased to their git counterparts.  To use system versions,\nrun `command(1)` (e.g., `command rm`) or qualify the command (e.g. `/bin/rm`).*\n\nPrompt\n------\n\nThe default prompt shows the current branch, a bang (`!`), and then the relative\npath to the current working directory from the root of the work tree.  If the\nwork tree includes modified files that have not yet been staged, a dirty status\nindicator (`*`) is also displayed.\n\nThe git-sh prompt includes ANSI colors when the git `color.ui` option is \nenabled. To enable git-sh's prompt colors explicitly, set the `color.sh` config\nvalue to `auto`:\n\n    $ git config --global color.sh auto\n\nCustomize prompt colors by setting the `color.sh.branch`, `color.sh.workdir`,\nand `color.sh.dirty` git config values:\n\n    $ git config --global color.sh.branch 'yellow reverse'\n    $ git config --global color.sh.workdir 'blue bold'\n    $ git config --global color.sh.dirty 'red'\n    $ git config --global color.sh.dirty-stash 'red'\n    $ git config --global color.sh.repo-state 'red'\n\nSee [colors in git](http://scie.nti.st/2007/5/2/colors-in-git) for information.\n\nCustomizing\n-----------\n\nMost `git-sh` behavior can be configured by editing the user or system gitconfig\nfiles (`~/.gitconfig` and `/etc/gitconfig`) either by hand or using\n`git-config(1)`. The `[alias]` section is used to create basic command aliases.\n\nThe `/etc/gitshrc` and `~/.gitshrc` files are sourced (in that order)\nimmediately before the shell becomes interactive.\n\nThe `~/.bashrc` file is sourced before either `/etc/gitshrc` or `~/.gitshrc`.\nAny bash customizations defined there and not explicitly overridden by `git-sh`\nare also available.\n\nCopying\n-------\n\nCopyright (C) 2008 [Ryan Tomayko](http://tomayko.com/)  \nCopyright (C) 2008 [Aristotle Pagaltzis](http://plasmasturm.org/)  \nCopyright (C) 2006, 2007 [Shawn O. Pearce](mailto:spearce@spearce.org)\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License, version 2, as published\nby the Free Software Foundation.\n","funding_links":[],"categories":["For Developers","Shells"],"sub_categories":["Git","Directory Navigation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtomayko%2Fgit-sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtomayko%2Fgit-sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtomayko%2Fgit-sh/lists"}