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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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

Steps to update git code: Check out code: git clone https://github.com/username/repo.git Get the latest changes: git fetch merge changes: git merge origin/master push changes (optional): git push origin master

To download projects locally via Git, follow these steps: Install Git. Navigate to the project directory. cloning the remote repository using the following command: git clone https://github.com/username/repository-name.git

Git Commit is a command that records file changes to a Git repository to save a snapshot of the current state of the project. How to use it is as follows: Add changes to the temporary storage area Write a concise and informative submission message to save and exit the submission message to complete the submission optionally: Add a signature for the submission Use git log to view the submission content

Resolve: When Git download speed is slow, you can take the following steps: Check the network connection and try to switch the connection method. Optimize Git configuration: Increase the POST buffer size (git config --global http.postBuffer 524288000), and reduce the low-speed limit (git config --global http.lowSpeedLimit 1000). Use a Git proxy (such as git-proxy or git-lfs-proxy). Try using a different Git client (such as Sourcetree or Github Desktop). Check for fire protection

Git code merge process: Pull the latest changes to avoid conflicts. Switch to the branch you want to merge. Initiate a merge, specifying the branch to merge. Resolve merge conflicts (if any). Staging and commit merge, providing commit message.

How to update local Git code? Use git fetch to pull the latest changes from the remote repository. Merge remote changes to the local branch using git merge origin/<remote branch name>. Resolve conflicts arising from mergers. Use git commit -m "Merge branch <Remote branch name>" to submit merge changes and apply updates.

When developing an e-commerce website, I encountered a difficult problem: How to achieve efficient search functions in large amounts of product data? Traditional database searches are inefficient and have poor user experience. After some research, I discovered the search engine Typesense and solved this problem through its official PHP client typesense/typesense-php, which greatly improved the search performance.

To delete a Git repository, follow these steps: Confirm the repository you want to delete. Local deletion of repository: Use the rm -rf command to delete its folder. Remotely delete a warehouse: Navigate to the warehouse settings, find the "Delete Warehouse" option, and confirm the operation.
