Undo Pushed Changes to a File

I recently pushed a commit of changes of a project in a remote repository. I just figured out that one of the files that I usually don't commit its changes because it could contain sensitive information was included.

I want to undo the committed changes to that file (to the last previous state) without losing the changes of the commit in the other files.

From this:

  • Change FileSensitive -- ++
  • Change File1
  • Change File2
  • New File3
  • New File4

To this:

  • Change File1
  • Change File2
  • New File3
  • New File4

For the moment, only I have access to that repository, so there's no problem for rewriting history, so when I give access to that remote repository they won't see that sensitive info in history. So, how can I do that?

2

1 Answer

  1. git reset --soft HEAD^ to undo the last commit keeping all changes made by the last commit in the index.
  2. git checkout HEAD <path to FileSensitive> to unstage and discard the change on FileSensitive. (Note the change on FileSensitive is lost by this command.)
  3. git commit and git push -f to update the remote repo.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Sarah Jenkins

Sarah Jenkins

Senior Technology Editor & AI Specialist

Sarah Jenkins is a veteran tech journalist with over 12 years of experience covering artificial intelligence, mobile innovations, and digital ethics. Her insights have appeared in leading technology publications worldwide.

Share this article
Twitter Facebook Pinterest