On 12/8/2018 11:32 AM, Nick Coghlan wrote:

Whether the UX counts as "good" or not is open to debate (I consider
it pretty good for the complexity of the task it handles), but if you
ever want to revise the history of a complex patch series to make it
easier for reviewers to follow:

1. Use "git rebase --interactive" to squash all the ad hoc commits
into a single commit
2. Use "git reset HEAD^" to unstage that squashed monolithic commit
3. Use "git add --patch" to compose a new commit series that takes a
reviewer through a logical set of changes, rather than the messy
reality of what actually happened

Thank you for the information.  I am sure I will use it.

(I have no idea if there are any GUI tools which expose this level of
commit series editing power, but it exists on the command line, so
presumably there are graphical equivalents)

On Windows, I use git gui routinely for making commits. It lists files with workspace changes in Unstaged and Staged boxes. ^T (sTage) and ^U (Unstage) moves a hightlighted file to the other one. A third box shows the diff for a highlighted file. One can also revise the 'last' commit (never done this yet). A fourth box is for entering and editing commit messages.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to