我能否指定Git提交哈希,而不是让Git生成它?
这是否可行?我在Git文档或在线上没有找到任何方法。
背景信息:我正在通过程序重新创建一个新的公共Git存储库,该存储库来自私有存储库。 我需要对每个提交做很多更改以删除机密信息。 但我想保留提交ID。
我能否指定Git提交哈希,而不是让Git生成它?
这是否可行?我在Git文档或在线上没有找到任何方法。
背景信息:我正在通过程序重新创建一个新的公共Git存储库,该存储库来自私有存储库。 我需要对每个提交做很多更改以删除机密信息。 但我想保留提交ID。
git cat-file -p da500aa4f54cbf8f3eb47a1dc2c136715c9197b9
命令获取的提交内容示例(已匿名化 ;)):tree 48038c4d189536a0862a2c20ed832dc34bd1c8b2
parent f0bb5942f47193d153a205dc089cbbf38299dd1a
author Firstname Lastname <my@mail.com> 1513256382 +0100
committer Firstname Lastname <my@mail.com> 1515152927 +0100
This is a commit message
da500aa4f54cbf8f3eb47a1dc2c136715c9197b9
是什么? - cst1992如果您更改提交内容,则提交的ID将会发生变化(它们取决于提交内容本身以及其中包含的更改内容)。
因此,不行。
git commit --amend --reset-author
的操作,它也会更改作者和ID。 - cst1992