前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 git 篡改历史

使用 git 篡改历史

作者头像
JS菌
发布2019-05-16 16:34:42
8220
发布2019-05-16 16:34:42
举报
文章被收录于专栏:JS菌JS菌

使用 git 篡改历史

⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅

有时候我们需要修改 git 历史提交的文件内容,如果只是在前一个 commit,那么只需要修改文件并执行 --amend 即可:

如修改上一次提交的文件:

代码语言:javascript
复制
// do something
git add .
git commit --amend --no-edit

另外,可能还需要修改以往历史提交的文件,那么就需要使用到 rebase:

git log 查看一下以往的提交纪录:

代码语言:javascript
复制
commit 084dbd48be6fff86b0d3de23220cff8cabddd9c6 (HEAD -> master)
Author: oli <oli@olideMacBook-Pro.local>
Date:   Thu May 9 23:20:09 2019 +0800

    echart how to use

commit 3358a5fd3078d7fb6794d8c2d468054db300a46f
Author: oli <oli@olideMacBook-Pro.local>
Date:   Wed May 1 11:26:12 2019 +0800

    edit Readme.md

commit c0b7ac77431ceb270b5f0aa0f97b13a79afca4b9
Author: oli <oli@olideMacBook-Pro.local>
Date:   Wed May 1 02:25:40 2019 +0800

    init

假设我们需要修改第二条纪录中的项目的文件,那么之行命令:

git rebase 3358a5fd3078d7fb6794d8c2d468054db300a46f^ --interactive

将 pick

代码语言:javascript
复制
pick 3358a5f edit Readme.md
pick 084dbd4 echart how to use

改为 edit

代码语言:javascript
复制
edit 3358a5f edit Readme.md
pick 084dbd4 echart how to use

然后保存

代码语言:javascript
复制
Stopped at 3358a5f...  edit Readme.md
You can amend the commit now, with

  git commit --amend 

Once you are satisfied with your changes, run

  git rebase --continue

按照提示,修改文件然后使用 git commit --amend 提交,并调用 git rebase --continue 即可:

代码语言:javascript
复制
diff --git a/README.md b/README.md
index 73ae153..98b8201 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1 @@
-# vuebox
-
-## Project setup
-```
-yarn install
# ...
+Read the guide and start building things in no time!

修改文件后提交:

git add . && git commit --amend --no-edit

代码语言:javascript
复制
 > running pre-commit hook: lint-staged
No staged files match any of provided globs.
[detached HEAD 4436ffc] edit Readme.md
 Author: oli <oli@olideMacBook-Pro.local>
 Date: Wed May 1 11:26:12 2019 +0800
 11 files changed, 177 insertions(+), 131 deletions(-)
# ...

最后调用 git rebase --continue

代码语言:javascript
复制
Successfully rebased and updated refs/heads/master.

搞定~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JS菌 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 git 篡改历史
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档