如何在现有的裸存储库中创建回流信息



您可能已经知道,在默认情况下,git不会为新的裸存储库启用reflog更新。问题是,我有一个很长的历史存储库,但它是在我设置"logAllRefUpdates"标志之前创建的,现在我想让另一个应用程序使用这些信息。

如何在对现有存储库进行最小更改的情况下实现这一点。一个非常简单的解决方案是推送一个新的提交,我不想(!):-)

reflog是一种相对简单的文件格式。这里有一个例子:
] cat .git/logs/HEAD|sed 's/t/<TAB>/'
0000000000000000000000000000000000000000 5cfe4256d98af22a570c78c5e3048391a90f5f98 Joe User <foo@example.com> 1306427954 -0400<TAB>clone: from git://git.kernel.org/pub/scm/git/git.git

您可以按照相同的格式手动构建适当的回流:

previous-ref-or-zero new-ref User Name <user@email> unix-timestamp timezonetmessage

只需为每个引用创建其中一个即可。您可能可以直接使用git for-each-ref使用适当的格式字符串(谢谢,Chris!)

相关内容

  • 没有找到相关文章

最新更新