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 # 同步远程代码,可不执行
|