git gui is especially useful because it allows to select diff hunks. Now it is at least mentioned in the user-manual. Signed-off-by: Steffen Prohaska <prohaska@xxxxxx> --- Documentation/user-manual.txt | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt index 0071cd0..de4ec0b 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.txt @@ -1079,6 +1079,24 @@ $ git diff HEAD # difference between HEAD and working tree; what $ git status # a brief per-file summary of the above. ------------------------------------------------- +Another approach for creating commits is git gui: + +------------------------------------------------- +$ git gui citool +------------------------------------------------- + +starts the commit tool (Note, "`git gui`" starts the full gui, which +provides more options). + +Beyond the basic operation of staging and unstaging complete files, +git gui can also selectively stage diff hunks. You can do so by +selecting a modified or staged file and right-click on the diff view +in the lower part of the gui. A pop-up will appear that lets you +select a specific hunk and stage or unstage it for the next commit. +This is particular useful for slicing large, ugly commits into smaller +pieces, for example when cherry-picking (see +<<reordering-patch-series>>). + [[creating-good-commit-messages]] Creating good commit messages ----------------------------- @@ -2480,7 +2498,8 @@ $ gitk origin..mywork & And browse through the list of patches in the mywork branch using gitk, applying them (possibly in a different order) to mywork-new using cherry-pick, and possibly modifying them as you go using commit ---amend. +--amend. git gui may be especially useful to amend commits as it +lets you selectively stage and unstage single diff hunks. Another technique is to use git-format-patch to create a series of patches, then reset the state to before the patches: -- 1.5.3.rc3.122.g4978 - 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