Kev*_*hrt 5 git git-filter-branch
开发人员设法提交了一些具有未来日期的代码 - 确切地说是2013年3月1日
git show --format=fuller <SHA>
AuthorDate: Fri Mar 1 17:28:26 2013 +0300
CommitDate: Fri Mar 1 17:29:38 2013 +0300
Run Code Online (Sandbox Code Playgroud)
这是(一)误导,和(b)从发现标记有吉拉票号的"新"堵提交吉拉(已经有自2013年3月1日提交没有 - 而且不会是6个月还没有)
我找到了如何使用git filter-branch更正日期的示例,例如
http://git.661346.n2.nabble.com/date-change-of-commit-td3887606.html:
git filter-branch --env-filter '
if [ $GIT_COMMIT = <sha1> ]; then
export GIT_AUTHOR_DATE="1112911993 -0700"
export GIT_COMMITTER_DATE="1112911993 -0700"
fi
'
Run Code Online (Sandbox Code Playgroud)
但他们带来了可怕后果的警告.任何一个或多个以下问题的答案将不胜感激.
后果并没有那么可怕。简单地说,任何拉取了带有错误提交的分支的人都可能需要在推送修复后采取额外的步骤,因为您将替换那里的提交,而不是之后添加额外的提交。
更具体地说,在您修复分支后,拉取错误提交的其他用户将无法对分支进行简单的“快进”更新。不过,对于任何相对熟悉 git 的人来说,用 a 或任何他们需要的东西来解决差异应该是一件容易的事情git rebase。