On 30/05/2021 06:31, David Aguilar wrote: > On Mon, May 24, 2021 at 11:51 AM Philip Oakley <philipoakley@iee.email> wrote: >> adding Pratyush for the Git Gui stash suggestion.. >> [...] >>>>> So my Question is: is there any possibility, to be able to view (and >>>>> even edit, if necessary) the changed notebook in the merging process >>>>> (as in my example with the 3way merge)? >>>> I'm not aware of such a mechanism (as simply described) but I'm sure >>>> there are ways to use the "staging area" view (e.g. via the Git-gui) to >>>> selectively pick out hunks and lines that are staged (and non-selected >>>> hunk/lines stashed) to give a testable worktree during the 'merge'. >>> Ah ok, this could be an idea (it would requiere some more research, as >>> I haven't used the git gui before (I want to learn everything from the >>> scratch using the command line)) >> I commonly use the Gui when picking apart a large commit into smaller >> ones when I'm happy that there's no overlaps. Small patches make for >> easier merging and fault finding, and better commit messages (good >> thesis practice) >> >>> But to be honest, I think even this approach might already be too >>> cumbersome (as this selectively picking and stashing sounds like a lot >>> of work itself). >> Unfortunately the Git Gui doesn't have a menu for stashing remaining >> changes, but it's simple to flip over to the terminal to stash from >> there to do the testing, and un-stash the remainder afterwards - I'll >> maybe suggest the gui could include that capability for these types of >> workflows (cc Pratyush Yadav <pratiy0100@xxxxxxxxx>). > Tangential, and doesn't apply in this use case, but I should mention > that Git Cola[1] has had this feature for a while now. +1. I haven't used/tried Cola myself, so.. > > Cola's Stash dialog allows you to do a regular stash and the "keep > index" stash alluded to here. "keep index" retains whatever has > already been staged. > > One feature unique to cola is its "stash the index" feature, which > will only stash stuff that you've selectively staged. That's for the > cases where you just want to stash away a small bit, and selectively > choosing the inverse is a lot of work, so instead you can select just > the bits you want to be stashed away and stash 'em. Sounds good. When I did a quick test (Git-Gui & cli) with staging one line of a two line change and then stashing, I found that the stash pop failed with a conflict (your 'lot of work') which I hadn't expected, which to me is totally wrong (against the spirit of the stash command). > > There's no shame in using a GUI for interactive editing. Cola is > designed to be driven through keyboard interactions so it's easy to > interactively edit the index without having to use a mouse. > > Cola also has affordances that can make learning core Git easier > (enable its GIT_COLA_TRACE=1 mode in the environment and it'll print > out every git command it runs). > > [1] https://git-cola.github.io/ > [1] https://github.com/git-cola/git-cola > > cheers, Thanks