首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复git过滤器错误,不更改编辑到母版?

如何修复git过滤器错误,不更改编辑到母版?
EN

Stack Overflow用户
提问于 2018-03-05 11:14:19
回答 1查看 207关注 0票数 0

我试图使用git过滤器更改本地提交的时间戳,但我只是得到了这个错误,并且没有对提交进行任何更改。有没有办法改变commit的时间戳而不是这样,或者修复命令之后出现的错误?

代码语言:javascript
复制
ia@a:~/Desktop/testGit$ git filter-branch --env-filter \
'if [ $GIT_COMMIT = b1d63c62a3a1139a18cf0349980db9f2df331ff2]
 then 
  export GIT_AUTHOR_DATE= "Sun Mar 4 12:12:19 2018 +0200"
  export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"

错误:

代码语言:javascript
复制
fi' Rewrite b1d63c62a3a1139a18cf0349980db9f2df331ff2 (1/2) (0 seconds passed, remaining 0 predicted)   
/usr/lib/git-core/git-filter-branch: 1: [: missing ] Rewrite
f4c6559bcc18b496f8b258a0a7d142d8bee323b8 (2/2) (0 seconds passed,
remaining 0 predicted)    /usr/lib/git-core/git-filter-branch: 1: [:
missing ]

WARNING: Ref 'refs/heads/master' is unchanged
EN

回答 1

Stack Overflow用户

发布于 2018-03-05 12:18:06

要只编辑一次提交,请使用interactive rebase。跑

代码语言:javascript
复制
git rebase --interactive b1d63c62a3a1139a18cf0349980db9f2df331ff2~

(注意波浪号!)在打开的编辑器中,验证第一个提交是否为b1d63c6,并在第一列中编辑其命令-将pick替换为edit。保存todo文件并退出编辑器。git rebase在第一次提交时停止。

编辑提交:

代码语言:javascript
复制
GIT_AUTHOR_DATE="Sun Mar 4 12:12:19 2018 +0200" GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700" git commit --amend --no-edit

继续重新设置基准:

代码语言:javascript
复制
git rebase --continue

等待git完成并验证结果:

代码语言:javascript
复制
git show --format=fuller $NEW_SHA1_FOR_REBASED_COMMIT

(由于rebase更改了提交ID,因此需要新闻sha1 ID)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49102984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档