Git 提交备注修改与合并、回退版本
备注写错了、写重了想合并或者删除上传到github时不小心上传了两次initial的备注方案一 仅修改最新的 Commit 备注如果希望保留两次提交的历史只是想把最新的e8a45a9备注改成更准确的描述例如feat: add index.html and gitignore修改本地最新一次提交的备注git commit --amend -m feat: add index.html and gitignore强制推送到 GitHubgit push --force-with-lease origin main方案二合并两次提交为一个整理干净历史撤销最近一次提交但保留文件修改git reset --soft HEAD~1将修改重新追加到上一次提交中同时修改备注git commit --amend -m Initial commit: add project files, README, and gitignore以下是方案二的操作旨在解决项目在github上因为误操作上传了两个Initial commit的情况PS D:\VScodeFile\web git reset --soft HEAD~1 PS D:\VScodeFile\web git commit --amend -m Initial commit: add project files, README, and gitignore [main edaeb74] Initial commit: add project files, README, and gitignore Author: xxxxxxxx xxxxxxxxxxqq.com 3 files changed, 5618 insertions() create mode 100644 .gitignore create mode 100644 gemini-code-1787142561678.html create mode 100644 index.html PS D:\VScodeFile\web git push --force-with-lease origin main Enumerating objects: 5, done. Counting objects: 100% (5/5), done. ... To https://github.com/Alxxxx/Alxxxx.git e8a45a9...edaeb74 main - main (forced update)合并后回退版本git log --oneline查看你的所有提交记录vscode源代码管理可以直接看输出类似a3b4c5d (HEAD - main)修改了首页标题和CSS样式 7e8f9a0 优化了图片展示 1f2e3d4 第一次提交初始化网站HTML页面 -- 假设这是你的第一个版本回退方式方案 1回去看看不破坏当前的最新代码安全如果只是想临时看看第一个版本长什么样检查完还想回到现在将代码库临时切换到第一个版本的 Hash 值 git checkout 第一个版本的 Hash 值 回到最新状态 git checkout main方案 2 彻底把本地代码回滚到最初形态彻底重置本地代码到指定版本注意这会丢失第一个版本之后的所有未保存改动 git reset --hard 1f2e3d4●效果 你的本地工作区彻底变成了第一次提交时的状态。●将回滚同步到 GitHub 此时 GitHub 上已经有了更新的版本直接git push会被拒绝。需要执行强制覆盖推送git push -f origin main(注意强制推送会把 GitHub 上的提交历史也一并擦除让 GitHub 也回到第一个版本。)方案 3生成一个新的提交来撤销修改回到第一个版本的代码状态但又想保留中间做过的所有修改历史# 撤销从第一个版本之后的所有修改 git revert --no-commit 1f2e3d4..HEAD # 提交这个恢复操作 git commit -m 回滚代码至初始版本 # 正常推送到 GitHub git push origin main● 效果 代码内容变回第一个版本Git 历史记录里记录了某时刻执行了一次回滚.