简体   繁体   中英

How to delete commits from git on Github and Bitbucket

I accidentally pushed up files from my .idea directory in my Django project which I had in my .gitignore file. I am trying to completely delete the commit from my bitbucket repository since there is someone else Im working with on the project and he can't pull my changes without affecting his own .idea files. I have seen other SO questions where they say to use git revert, however I remember there was another command where you pushed the last good commit you made, and everything after that was deleted from the master branch. For example

Commit History:

94ca48e

55fab05

3813803

I want to delete 94ca48e, and 55fab05. There was a command I found once where you could make 3813803 the most current commit, and everything in the remote repository after that commit would be deleted, but I can't find it anywhere.

Use git reset --hard 3813803 . This can not be undone and works locally as well as remote.

For remote push using git push --force origin master

Have a look at the git docu by Atlassian here .

Let me also quote from there:

Whereas reverting is designed to safely undo a public commit, git reset is designed to undo local changes. Because of their distinct goals, the two commands are implemented differently: resetting completely removes a changeset, whereas reverting maintains the original changeset and uses a new commit to apply the undo.

git reset is the one to be used here, though, because you are asking for complete deletion.

Even if the commits are HARD reset, unwanted commits would still show up in the history. If the history also needs to be reset, then I am afraid only way to do that is to delete and recreate the branch.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM