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

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like