赞
踩
git commit --amend
git log
查看提交记录,可以看到commit 后面的 commitId
// 使用 commitId 方式
git rebase -i 9217a88c7fad0917b83d4abaeac127197f7c7a7d
// -i后面的参数为需要修改的commit前一次 对应的 commitId
// 或指定修改条数
git rebase -i HEAD~3 // 最近3条
我的 Git Bash 会自动打开 VsCode 编辑,省去的部分命令行操作
pick
修改为 reword
;:wq
保存并退出,之后就会进入编辑界面。命令行窗口会出现提示信息,意思是如果要改日志,执行git commit --amend
,修改完成后执行git rebase --continue
;
如果还有下一个修改,会提示再次输入,直到完成。
git 几种修改选择:
- pick:保留该 commit
- reword:保留该 commit,但我需要修改该commit的 Message
- edit:保留该 commit, 但我要停下来修改该提交(包括修改文件)
- squash:将该 commit 和前一个 commit 合并
- fixup:将该 commit 和前一个 commit 合并,但我不要保留该提交的注释信息
- exec:执行 shell 命令
- drop:丢弃这个 commit
git log
git push origin <branch_name> -f // 一定要加上-f强制推送上去才可以
提示:进入 REBASE 状态之后,退出 REBASE 状态,使用以下命令
git rebase --abort
git rebase -i HEAD~3 // 最近3条
将 pick
修改为 edit
;
命令行面板修改完之后,按 Esc 退出编辑,输入:wq
保存并退出,之后就会进入编辑界面。
这一步是关键,我们主要目的是修改提交者的信息,使用命令:
git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit
# 例如:git commit --amend --author="LL <test@163.com>" --no-edit
git push -f
git merge --abort
这将尝试将您的工作副本重置为合并之前的任何状态。这意味着它应该还原合并之前的所有未提交的更改,尽管它不能始终可靠地进行还原。通常,您无论如何都不应与未提交的更改合并。
git reset --hard
删除所有未提交的更改,包括未提交的合并。有时,即使在支持上述命令的较新版本的Git中,此行为也很有用。
git reset HEAD
就是回退到当前版本。git reset HEAD^
回退到上一版本。
git reset HEAD
操作只对暂存区起效果,不对工作区的内容起效果。
git remote show origin
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。