在git rebase origin/development以下错误消息从git显示:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
Run Code Online (Sandbox Code Playgroud)
我的git版本是2.9.0.用于在以前的版本中正常工作.
如何通过新版本中引入的强制标记继续使用此rebase,从而允许不相关的历史记录?
Git有一个众所周知的,或者至少是众所周知的空树,其SHA1是:
4b825dc642cb6eb9a060e54bf8d69288fbee4904
Run Code Online (Sandbox Code Playgroud)
(你可以在任何仓库中看到这个,甚至是新创建的仓库,用git cat-file -t和git cat-file -p).
如果您努力工作并且非常小心,您可以使用这个空树来存储没有文件的目录(请参阅如何将空目录添加到git存储库的答案),尽管这不是一个好主意.
它作为一个参数更有用git diff-tree,其中一个示例钩子可以做到.
我想知道的是,
4b825dc642cb6eb9a060e54bf8d69288fbee4904? (创建符号名称的快速而肮脏的方法是将SHA1放入,例如,.git/Nulltree不幸的是,您必须为每个repo执行此操作.似乎更好地将幻数放在脚本中等等.我只是有一般的厌恶到魔术数字.)