如何修改Git已提交的日志
情况一:最后一次提交且未push
执行以下命令:
git commit --amend
git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们就可以在上面编辑,编辑后保存即完成此次的修改。
情况二:最后一次提交且已push到服务器
执行以下命令:
git commit --amend
git push origin master --force
和情况一的做法一样。使用push推送到远程服务器是需要加上--force,让服务器更新历史记录。
需要注意的是:把修改后的日志强制push到Git服务器,如果别人本地的副本有修改,很有可能会导致他们同步不了,所以最好和他们核对下。
情况三:旧的提交且未推送
假设commit是倒数第3次提交,这个可以使用git log查看,
$ git log
commit b1b451d218cc23b6c769f373164f2b89cf54d0aa
Author: clcaza <clcaza@sina.cn>
Date: Sat Mar 10 19:09:08 2018 +0800
添加内容d
commit 04f0d1809d5d31cc6e930efcba47a5f3f7e93319
Author: clcaza <clcaza@sina.cn>
Date: Sat Mar 10 19:08:24 2018 +0800
添加内容c
commit 94fc8feb916442d56b558d5c370f18f057298921
Author: clcaza <clcaza@sina.cn>
Date: Sat Mar 10 19:07:08 2018 +0800
添加内容a
commit fd517efa9faf6a5ec71d0eac38fbcfa0cd689f40
Author: clcaza <clcaza@sina.cn>
Date: Sat Mar 10 19:06:21 2018 +0800
init
执行rebase
git rebase -i HEAD~3
它会打开一个编辑器,它会把最后前3次的提交显示出来,类似于:
pick 94fc8fe 添加内容a
pick 04f0d18 添加内容c
pick b1b451d 添加内容d
你会看到,它是按提交的顺序显示的,与git log显示的顺序相反。定位到你要编辑日志的那一行,把pick修改为edit,然后保存。
接着就是修改日志内容了
git commit --amend
完成编辑日志后,记得执行:
git rebase --continue
Rebase目的是打开提交的历史记录,让您选择要修改的内容。 Git会让你在一个新的分支修改内容。 git rebase --continue则是让你重新回到之前的分支。
情况四:旧的提交且已push到服务器
前面编辑日志的操作是和情况三是一样的:
git rebase -i HEAD~X
git commit --amend
git rebase --continue
X表示倒数第几次提交。
完成编辑日志后,执行push:
git push origin master --force
如何修改Git已提交的日志的更多相关文章
- git学习------>如何修改git已提交的记录中的Author和Email?
一.背景 最近搭建好GitLab后,准备陆陆续续的将之前在SVN仓库中保存的代码迁移到GitLab上,昨天顺利将三个Android组件的代码迁移到GitLab后,其他同事发现迁移是成功了,但是pull ...
- 修改GIT已提交的用户名和邮箱
修改GIT已提交的用户名和邮箱 原文:https://help.github.com/en/github/using-git/changing-author-info 说明 要更改在现有提交中记录的名 ...
- [转]修改github已提交的用户名和邮箱
改变作者信息 为改变已经存在的 commit 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史. 警告:这种行为对你的 repo 的历史具有破坏性.如果你的 repo 是与他人协同工 ...
- 如何修改SVN已提交项目的message log
直接在TortoiseSVN中修改过往日志,会提示: DAV request failed;it's possible that the repository's pre-revprop-change ...
- SVN-修改已提交的日志
前提:服务器是Windows下的VisualSVN Server 1.在库的属性页面的Hooks选项卡下找到Pre-revision property change hook,2.双击修改其内容,具体 ...
- git 修改已提交了的备注信息的方法
git 修改已提交了的备注信息的方法: 1.当我们已通过 git commit -m '已提交的最新的备注' 命令将代码提交到了缓存区,或者进一步执行了 git push origin master ...
- git 撤销,放弃本地修改,放弃已提交修改
一, 未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 &quo ...
- git修改已提交记录的注释
已提交暂存区但还未提交远端仓库 命令:git commit --amend -m 已提交远端仓库 命令:git rebase 可以参考:http://www.cnblogs.com/dudu/p/47 ...
- Git撤销提交和修改相关操作
团队开发中经常遇到错误删除文件,错误提交等情况,那么使用Git该如何正确的进行撤销和恢复呢? 一.增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言, ...
随机推荐
- 转自B站 真希望我在20岁就懂得的10个人生道理 主讲:王魄
视频地址:https://www.bilibili.com/video/av65194244?from=search&seid=15261178568916939794 这位阿姨讲得还行,特别 ...
- Xmanager power suit 6 最新版注册激活附注册机
转自:https://blog.csdn.net/the_liang/article/details/82708907 Xmanager Power Suit 6.0.0109 最新版注册激活,长期更 ...
- docker容器和宿主机之间复制文件
https://blog.csdn.net/u012416928/article/details/55049063 https://blog.csdn.net/u011596455/article/d ...
- 配置linux系统时区---解决ntp同步完时间不准问题
ntp配置完成后时间仍然不准有下面两种情况: ntp服务端配置完ntp服务器后,查看时间和百度的时间不一样按照下面解决 ntp客户端同步完ntp服务器后,查看客户端的时间和百度不一致,按照下面解决 1 ...
- java:Hibernate框架2(关联映射(多对一,一对多,一对多双向,一对一主键,一对一唯一外键,多对多双向))
hibernate.cfg.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE h ...
- normalization(统计)
In statistics and applications of statistics, normalization can have a range of meanings.[1] In the ...
- mariadb数据库增删改查
1.常用数据类型 1)整数:int, bit 2)小数:decimal #decimal(5,2)表示共有五位数,保留两位小数 3)字符串:varchar, char 4)日期时间:date, ...
- 应用安全 - 中间件 - Tomcat - 漏洞 - 汇总
管理后台弱口令 CVE-2019-0232 Date 类型 任意代码执行 影响版本 Apache Tomcat .M1 to Apache Tomcat to Apache Tomcat to 前置条 ...
- [Python3] 027 常用模块 time
目录 time 1. 时间戳 2. UTC 时间 3. 夏令时 4. 时间元组 5. 举例 5.1 例子1 例子2 例子3 例子4 例子5 例子6 例子7 time 1. 时间戳 一个时间表示,根据不 ...
- java学习笔记 - 线程池(一)
线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销 优点:(面试题)可重复使用已有线程,避免对象创建.消亡和过度切换的性能开 ...