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

Re: git revert with partial commit.

From
HZHongyi Zhao <hongyi.zhao@gmail.com>
Date
Apr 4, 2023, 00:37 UTC
Message-ID
<CAGP6POJr63o67k+7BeokM-pkPbXYrQy4kcWwMXTfoeuFaPaADQ@mail.gmail.com>
In-Reply-To
<CAGP6POLVpjxO91s1dX98TLepXMrybSWq9y8qJ6b7w+e0SRJT1A@mail.gmail.com>
On Tue, Apr 4, 2023 at 8:20 AM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
Show 48 quoted lines
>
> On Tue, Apr 4, 2023 at 2:36 AM Phillip Susi <phill@thesusis.net> wrote:
> >
> >
> > Hongyi Zhao <hongyi.zhao@gmail.com> writes:
> >
> > > Hi here,
> > >
> > > I want to revert a previous commit partially, as follows:
> > >
> > > werner@X10DAi:~$ git log |grep -A3 -B5 -m1 texstudio
> > > commit f18fbd1e16a1ca4215621768d17858c036086608
> > > Author: Hongyi Zhao <hongyi.zhao@gmail.com>
> > > Date:   Sun Aug 1 20:01:02 2021 +0800
> > >
> > >     deleted:    Public/CTAN/IDE/phonon/compile-install-phonon
> > >     deleted:    Public/CTAN/IDE/texstudio-org/texstudio.git.sh
> > >     modified:   Public/repo/github.com/Dushistov/sdcv.git.sh
> > >     deleted:    Public/repo/github.com/goldendict/stardict-relative/bigdict
> > >
> > > More specifically, I just want to revert the following ones:
> > >
> > >     deleted:    Public/CTAN/IDE/phonon/compile-install-phonon
> > >     deleted:    Public/CTAN/IDE/texstudio-org/texstudio.git.sh
> > >
> > > Is this possible?
> >
> > If you are comfortable with git-gui and gitk, then I would say just
> > revert it, then click ammend the previous commit in git-gui, and click
> > to unstage the changes you DON'T want to revert, then commit.  If you
> > want to do it from the command line, then git-revert, then git checkout
> > HEAD~1 -- ( the other 4 file names here ) will get back the other 4
> > files then you can git commit --amend.  Alternatively you can skip
> > git-revert and instead git checkout f18fbd1e16~1 -- (the two files that
> > you DO want to revert), then git commit.
>
> Thanks for your tips. I've also figured out the similar solution based
> on the comment here [1], as shown below:
>
> $ git show f18fbd1e16a1ca4215621768d17858c036086608 --
> Public/CTAN/IDE/phonon/compile-install-phonon
> Public/CTAN/IDE/texstudio-org/texstudio.git.sh | git apply --reverse
> --3way
>
> Because the commit I want to revert is done a long time ago, which is
> not the parent of the commit I'm currently on, so I can't use the `~1`
> which indicates that I want to go back one commit from my current
> position.

Sorry for my inappropriate description above. In fact, it's a more concise method which also will do the trick, aka, as follows:

$ git checkout f18fbd1e16~1 -- Public/CTAN/IDE/phonon/compile-install-phonon Public/CTAN/IDE/texstudio-org/texstudio.git.sh

> [1] https://stackoverflow.com/questions/5669358/can-i-do-a-partial-revert-in-git
>
> Best,
> Zhao
Previous: Hongyi ZhaoNext: Hongyi Zhao
Message 7 of 18 in “git revert with partial commit.”
  1. Hongyi ZhaoApr 2, 2023
  2. Torsten BögershausenApr 2, 2023
  3. Junio C HamanoApr 3, 2023
  4. Hongyi ZhaoApr 4, 2023
  5. Phillip SusiApr 3, 2023
  6. Hongyi ZhaoApr 4, 2023
  7. Hongyi ZhaoApr 4, 2023
  8. Hongyi ZhaoApr 4, 2023
  9. Chris TorekApr 4, 2023
  10. Sergey OrganovApr 4, 2023
  11. Junio C HamanoApr 4, 2023
  12. Sergey OrganovApr 4, 2023
  13. Junio C HamanoApr 4, 2023
  14. Felipe ContrerasApr 4, 2023
  15. Sergey OrganovApr 5, 2023
  16. Felipe ContrerasApr 7, 2023
  17. Sergey OrganovApr 7, 2023
  18. Phillip SusiApr 6, 2023

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.