After I type ‘git reverse <hash of the commit from github>’ in the terminal of vscodium, it always throws this message at me.

Auto-merging app/build/posts.html
CONFLICT (content): Merge conflict in app/build/posts.html
error: could not revert 0cc6763... new blog
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git revert --continue".
hint: You can instead skip this commit with "git revert --skip".
hint: To abort and get back to the state before "git revert",
hint: run "git revert --abort".
hint: Disable this message with "git config advice.mergeConflict false"

Then as the hints say, I type ‘git status’, fix the error, then commit and push again. But again the same message shows and I have no idea what to do. Getting mad as a beginner.

As i found no useful guides online, please help me to fix this issue without AI.

  • Azzu ( Azzu@leminal.space ) 
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    2 days ago

    git revert does not go back to that commit, it takes the changes that are in that commit and tries to create a new set of changes that are the opposite, i.e. undo the changes of that specific commit.

    You could have known that by reading the official documentation of that command, which says essentially the same thing: “Given one or more existing commits, revert the changes that the related patches introduce, and record some new commits that record them.” https://git-scm.com/docs/git-revert

    Now, if you look at the documentation of git reset, it says “changes which commit HEAD points to. This makes it possible to undo various Git operations, for example commit, merge, rebase, and pull.” i.e. this does go back to that commit.

    Since revert tries to create new changes, it’s of course possible to get conflicts, since you probably changed a bunch since then. If you wanted git revert to work in this case, instead of reverting the commit “you want to go to”, you could have reverted all commits since then instead.

    So in English, what you did was “try to remove the specific changes within the commit I’m giving you”(git revert) instead of “go back to the commit I’m giving you” (git reset). Next time, try not to get mad and just do a web search, all of those results mention git reset or reverting all commits since then.