From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: wuzhouhui <wuzhouhui14@mails.ucas.ac.cn>
Cc: git@vger.kernel.org
Subject: Re: how to automatically open conflicted files when "git rebase" encounter conflict
Date: Fri, 18 Mar 2022 20:14:05 +0000 [thread overview]
Message-ID: <YjToDb9Mz9Q9z4Bq@camp.crustytoothpaste.net> (raw)
In-Reply-To: <bc7b04de-17be-df86-1c93-792903eeec9b@mails.ucas.ac.cn>
[-- Attachment #1: Type: text/plain, Size: 1222 bytes --]
On 2022-03-18 at 02:00:52, wuzhouhui wrote:
> Hi
>
> When "git rebase" stopped due to conflict, I have to manually open
> conflicted
> file one by one and resolve conflict, and the typing file path is too
> boring.
> So, how to automatically open (e.g. use Vim) conflicted files?
I agree that in the typical project with a few levels of directories
this is a hassle.
Fortunately, there are lots of ways to do this. The way I happen to do
it is with an alias:
[alias]
conflicted = "!f() { git status -s | grep -E '^(DD|AA|.U|U.)' | cut -b4-; };f"
and then I run this:
git conflicted | xargs nvim-gtk
To preempt someone pointing this out, you would want to use "git status
--porcelain" for scripting instead of "git status -s", but I happen to
know what I'm doing in this particular case (and have reasons for it)
and can fix things if it breaks. You should probably use --porcelain.
My approach also works less well if you have files with spaces or other
characters special to the shell. That can be fixed with using
NUL-terminated strings if that's a problem for you (it isn't on the
projects I work on).
--
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
next prev parent reply other threads:[~2022-03-18 20:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-18 2:00 how to automatically open conflicted files when "git rebase" encounter conflict wuzhouhui
2022-03-18 4:11 ` Junio C Hamano
2022-03-18 16:01 ` Erik Cervin Edin
2022-03-19 2:01 ` wuzhouhui
2022-03-18 16:00 ` Erik Cervin Edin
2022-03-18 18:24 ` Junio C Hamano
2022-03-18 20:14 ` brian m. carlson [this message]
2022-03-18 21:25 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YjToDb9Mz9Q9z4Bq@camp.crustytoothpaste.net \
--to=sandals@crustytoothpaste.net \
--cc=git@vger.kernel.org \
--cc=wuzhouhui14@mails.ucas.ac.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.