How to modify history in git
Method: 1. Use the "git commit --amend" command to modify one history record; 2. Use the "git rebase -i specify submission number" command to modify multiple history records; 3. Use "git filter- The range modified by the branch --filer command" command rewrites the history.
The operating environment of this article: Windows 10 system, Git version 2.30.0, Dell G3 computer.
How to modify the history of git
Junior player git amend
If you are just submitting Later I found that I was handicapped, so I used git commit --amend to modify the previous commit. After this command is executed, it will remove the previous commit from the current branch, restore the workspace to the state where it was last prepared for submission (while mixing the changes after the last commit), and then display a vim interface for You go and modify the last commit information. After saving in vim, all current modifications will be submitted with new submission information.
This command can only modify the last commit. One command is equivalent to executing the following series of actions:
$ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号 $git reset --soft HEAD^#回到最后一次提交准备提交前的状态 $...#做一些操作和修改 $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
Intermediate player git rebase
Previous The git commit --amend can only modify the last commit, but when we are on a whim and handicapped all the way, this command cannot save us. At this time, we have to use the killer tool of git rebase -i to help We revise those past events that are unbearable to look back on.
Actually, git rebase -i is not a command specifically used to modify historical records, but a command that allows us to perform rebase operations interactively (that is, one by one), but we can use This command is used to modify the commit history.
The method of using this command is git rebase -i
As shown in the picture, if I submit the changes three times and enter git rebase -i HEAD~3, the following interface will appear:
This is a vim editor interface. Let us edit this script. The commands that can be used are the six commands in the comments below. After exiting the page where you are currently editing it, git will perform corresponding operations on the submissions one by one according to this script (starting from the earliest submission).
If you just want to modify the submission information, change all picks to r, and then save with:wq. Then git will let you modify it one by one starting from the earliest submission information.
Among the remaining commands, e will jump out of the vim editor when modifying the corresponding submission. At this time, the HEAD pointer points to this submission. At this time, you can use git commit --amend to make various modifications to this submission. , and then execute git rebase --continue to continue the next operation; s will merge this submission and its parent submission into one submission when modifying the corresponding submission; f is similar to s but will ignore the current submission. Information, directly use the information submitted by the parent; x requires entering the command after x and then executing it when HEAD points to this submission. These commands can also be used to rearrange submissions and split submissions.
Ultimate killer git filter-branch
Suppose we submitted N times, and suddenly found that the email addresses we submitted were all wrong (╯°□° )╯︵ ┻━┻, if you use the previously mentioned command at this time, you will probably be exhausted before the changes are completed. At this time, we can use git filter-branch to rewrite the branch, which can batch each branch. Submit and perform our preset operations.
The basic usage format used by the git filter-branch command is git filter-branch --
Recommended study: "Git Tutorial"
The above is the detailed content of How to modify history in git. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Running the H5 project requires the following steps: installing necessary tools such as web server, Node.js, development tools, etc. Build a development environment, create project folders, initialize projects, and write code. Start the development server and run the command using the command line. Preview the project in your browser and enter the development server URL. Publish projects, optimize code, deploy projects, and set up web server configuration.

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

Under the BeegoORM framework, how to specify the database associated with the model? Many Beego projects require multiple databases to be operated simultaneously. When using Beego...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

The H5 page needs to be maintained continuously, because of factors such as code vulnerabilities, browser compatibility, performance optimization, security updates and user experience improvements. Effective maintenance methods include establishing a complete testing system, using version control tools, regularly monitoring page performance, collecting user feedback and formulating maintenance plans.

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

How to solve the problem of Jieba word segmentation in scenic spot comment analysis? When we are conducting scenic spot comments and analysis, we often use the jieba word segmentation tool to process the text...
