git中修改已提交的信息(用户信息,提交注释)修改

修改最后一次提交 commit 的信息

1
2
3
4
5
6
7
8
# 修改最近提交的 commit 信息
git commit --amend --message="modify message" --author="author <xxx@example.com>"

# 仅修改 message 信息
git commit --amend --message="modify message"

# 仅修改 author 信息
git commit --amend --author="author <xxx@example.com>"

修改历史提交 commit 的信息

1
2
3
4
5
6
7
8
9
10
11
12
# 最近 2 条
git rebase -i HEAD~2

# 执行命令后,会进去 vi 下,找到需要修改的 commit 记录,```pick``` 修改为 ```edit``` 或 ```e```,```:wq``` 保存退出
# 会进去rebase的交互模式
# 重复执行如下命令直到完成
git commit --amend --message="modify message" --author="author <xxx@example.com>"
git rebase --continue

# 中间也可跳过或退出 rebase 模式
git rebase --skip
git rebase --abort

完成后会提示 Successfully rebased

如果commit已经被推送,则需要使用以下命令强制推送

1
2
3
4
5
6
7
# 强制推送到远程服务器
git push --force origin 'refs/heads/*'

# 其他git仓库需要应用这个更改时,使用强制拉取
git fetch --all # 从远程仓库下载最新更改。它不会对本地仓库进行任何合并或变基
git reset --hard origin/master # 将本地分支重置为origin/master, 将丢弃对跟踪文件的任何本地更改,并且将删除未跟踪的文件
git pull # 同步远程代码,可不执行