[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] [lmi-commits] valyuta/002 18ab8be 5/5: Oops
From: |
Greg Chicares |
Subject: |
Re: [lmi] [lmi-commits] valyuta/002 18ab8be 5/5: Oops |
Date: |
Mon, 21 Sep 2020 01:07:36 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 2020-09-20 23:24, Vadim Zeitlin wrote:
> On Sun, 20 Sep 2020 22:37:51 +0000 Greg Chicares <gchicares@sbcglobal.net>
> wrote:
[...snip extremely helpful discussion of git commands...]
> GC> My plan instead is to let 'valyuta' evolve until I'm
> GC> satisfied with it, and then construct and commit (to
> GC> master) the series of changes that I would have made
> GC> if I had thought through everything first, perfectly.
> GC> So Athena still emerges fully mature from Zeus's skull,
> GC> but the public doesn't see how sausages are made.
>
> This is a pretty common strategy with which Git helps a lot and I do it
> all the time. It usually does involve some amount of merge conflicts
> resolution as I do a lot of interactive rebases to put things in just the
> right order, but it usually doesn't take much time. However if you plan to
> spend time on polishing your commits history often in the future, I'd like
> to reiterate my suggestion to look into using Vim Fugitive plugin as merge
> resolution,
The best solution to merge conflicts is to avoid them, and
to a very large extent that's possible. When I do have to
deal with them, deciding what to do take much more time
than typing the vim commands to do the work, so I see
little advantage to automating that purely mechanical part.
> or even just diff/git-add-p replacement tool, it's really quite
> invaluable.
I assume "git-add-p" means the same as "git add --patch".
I use it so often that I've even memorized some of the
single-letter subcommands. I tried 'fugitive'; I watched
the vimcast about it; and still I don't like it. My issue
has nothing to do with the plug-in's quality. Rather, it's
a matter of eyesight. I can comfortably use a single 27x90
text window at most. Splitting windows is really not a
solution for me, simply because thirteen lines or forty-five
columns is too small.
Sometimes, I use 'meld' and lean closer to the screen,
often scrolling left and right; but soon my neck hurts, so
I prefer to use git's (excellent) diff facility most of
the time. 'meld' can compare directories, and that can be
handy; I've tried netrw's facility that does the same
thing, and found it distressing.
Consider these few lines chosen from my command history:
git diff --patch `git rev-parse valyuta/000` -- ihs_avmly.cpp
git diff --stat valyuta/000 `git merge-base valyuta/000 master`
git diff --ignore-all-space valyuta/001 valyuta/002 -- basic_values.hpp
git --no-pager log -4 valyuta/001-no-rebase --oneline
I do understand at least some of what git has to offer.
If your concern is that I'm not taking advantage of
git's features, then tell me I'm missing. But if one
knows how to use git, then 'fugitive', AFAICT, adds
nothing--it's just an alternative way of doing the same
things, which for me is more cumbersome than working in
a terminal window.