git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: fast forward merge overwriting my code

From
Philip Oakley <philipoakley@iee.email>
Date
May 30, 2021, 11:00 UTC
Message-ID
<75d301b3-3cbe-da2e-6611-1bf32a187284@iee.email>
In-Reply-To
<CAJDDKr4GFcV4MSUP+Ku=B1JjZieKwwwuGgsb8yssc0vg0thFQA@mail.gmail.com>
On 30/05/2021 06:31, David Aguilar wrote:
Show 28 quoted lines
> 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@gmail.com>).
> 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..
Show 10 quoted lines
>
> 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).

Show 13 quoted lines
>
> 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
Previous: David AguilarNext: Igor Djordjevic
Message 14 of 23 in “fast forward merge overwriting my code”
  1. Andre UlrichMay 22, 2021
  2. Philip OakleyMay 22, 2021
  3. Junio C HamanoMay 23, 2021
  4. Philip OakleyMay 24, 2021
  5. Johannes SixtMay 23, 2021
  6. brian m. carlsonMay 23, 2021
  7. Andre UlrichMay 24, 2021
  8. Bagas SanjayaMay 24, 2021
  9. Philip OakleyMay 24, 2021
  10. Andre UlrichMay 24, 2021
  11. Philip OakleyMay 24, 2021
  12. Philip OakleyMay 25, 2021
  13. David AguilarMay 30, 2021
  14. Philip OakleyMay 30, 2021
  15. Igor DjordjevicMay 24, 2021
  16. Felipe ContrerasMay 26, 2021
  17. Philip OakleyMay 26, 2021
  18. Felipe ContrerasMay 26, 2021
  19. Philip OakleyMay 26, 2021
  20. Felipe ContrerasMay 26, 2021
  21. Philip OakleyMay 27, 2021
  22. Felipe ContrerasMay 27, 2021
  23. Philip OakleyMay 27, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.