hub
Extension to command-line git for GitHub
...Available commands are split into two groups: those that are already present in git but that are extended through hub, and custom ones that hub provides. Most hub commands are supposed to be run in a context of an existing local git repository. Hub will automatically detect the GitHub repository that the current working directory belongs to by scanning its git remotes. In case there are multiple git remotes that are all pointing to GitHub, hub assumes that the main one is named "upstream", "github", or "origin", in that order of preference.