Hi, The 'stage' is probably the most novel-yet-missunderstood feature of git, and somehow the user interface is not exploiting it properly, even to the point where it doesn't even have a consistent name (stage, index, cache, etc) This patch series is one approach that has been working reasonably well for me, which is to replace the 'git stage' command to map different actions that can be executed with it. For example 'git stage diff' is more natural (at least to me) than 'git diff --cached', same goes for 'git stage rm foo.c' vs 'git rm --cached foo.c'. This is the list of actions I've mapped: * add: git stage = git stage add (git add) * rm: (git rm --cached) * diff: (git rm --cached) * import: stage all files; modified, deleted, new * ls: (git ls-files --stage) Felipe Contreras (2): git: remote stage Add new 'git stage' script Documentation/git-stage.txt | 19 ------------------- Makefile | 2 +- git-stage.sh | 28 ++++++++++++++++++++++++++++ git.c | 1 - 4 files changed, 29 insertions(+), 21 deletions(-) delete mode 100644 Documentation/git-stage.txt create mode 100644 git-stage.sh -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html