JIYIK CN >

Current Location:Home > Learning > OPERATING SYSTEM > Git >

Deleting commits from a remote repository in Git

Author:JIYIK Last Updated:2025/03/27 Views:

Sometimes when using Git, we realize that a commit was wrong and needs to be removed. The reason may be that the customer does not want to use this feature in the product.

Either we introduced a bug, or we need to work on it again because we already committed a bad implementation.

This article will discuss how we can delete local and remote repositories and clean up all of them using Git commands.

In Git, we can remove commits through two different processes. These processes depend on the changes, whether they have been pushed to a remote branch or not.


Deleting commits from a local repository in Git

If our changes have not yet been pushed to the remote repository, we can delete the most recent commit locally with the following command:

git reset --hard HEAD~1

The above mentioned command will discard all changes made in the folder (working tree) and HEADmove to HEADthe latest commit before .

If we want to remove the commits before a specific commit, we will run git logto search for the specific commit id. After that, we will remove those commits using the below mentioned commands:

git reset --hard <sha1-commit-id>

This command mentioned earlier will discard all changes made in the working tree and HEADmove to the commit of our choice.


Deleting commits from a remote repository in Git

If we want to remove a commit from the remote repository, we'll make a 强制推送new HEADcommit. Or, if we've already pushed changes to the remote repository, we'll run the following command:

git push origin HEAD --force

If someone else pulls this branch, then it's best to start a new branch; otherwise, it will merge it into their work, in which case we need to push back to the same branch again.

This will remove that commit from both the local and remote repositories. If we need to remove it only from the remote and not from the local, then we will execute the below mentioned command:

git push origin +HEAD^:branch_name

Before executing these commands, we should take another look at it, as it will delete all of our working directory changes.

After deleting it, if we want to search for that commit again, it will preferably appear in <git reflog>, unless our repository has been garbage collected.

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

Adding files in Git

Publish Date:2025/03/27 Views:74 Category:Git

This article will discuss different ways to add files to our repository on Git. In Git, use git add the command to add all files We can git add add all the files without exception using the command as shown below. git add -A -A The -p param

Different ways to add files to staging with Git

Publish Date:2025/03/27 Views:199 Category:Git

While the command git add is probably the most commonly used command for adding files to your stash, other flags may come in handy depending on the situation. This article takes a deep dive into git add the flags you can use with the comman

Git add folder

Publish Date:2025/03/27 Views:100 Category:Git

git add Used to add specific folders and files. This tutorial will handle it in a modern way git add folder . git add Add all or specific folders and files to staging in Git using Use the following syntax to add files: git add file Use the

Recursively add files and folders in Git

Publish Date:2025/03/27 Views:136 Category:Git

Sometimes, we come across a situation where we have to adjust some files, folders, and subfolders that already exist in Git. A part of a nested folder system has to be added remotely to Git. This article will discuss how to use commands to

Undoing rm in Git

Publish Date:2025/03/27 Views:79 Category:Git

In Git, the term rm is git remove an alias for the command. So it is used to remove a single file or a bunch of files from the repository. git rm The main functionality of in Git is to remove tracked files using Git index. However, git rm i

Revert a file to a previous commit in Git

Publish Date:2025/03/27 Views:170 Category:Git

Git is a version control system. We use it to track changes made to files in a project directory. In a collaborative development environment, many team members often work on the same files and make changes to them. We often face a situation

Find deleted files in the commit history of a Git project

Publish Date:2025/03/27 Views:67 Category:Git

This article discusses finding deleted files in the commit history of a project. This is handy when you want to recover a file you deleted in a project. Without further ado, let’s jump right in. Steps to find and restore deleted files in

Tracking command history in Git

Publish Date:2025/03/27 Views:141 Category:Git

Git is one of those version control systems that keeps a record of the changes made by its developers. Through these records, we can track various earlier commits, which teammates made what changes at what time, understand the bugs that wer

Using Git Rebase from the Command Line

Publish Date:2025/03/27 Views:130 Category:Git

This article will discuss using the git rebase command effectively . The git rebase command allows us to change a range of commits and modify the commit history in our repository. We can edit, reorder, or squash commits using the git rebase

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial