我正在尝试将git filter-branch与-d
选项一起使用,但不确定使用什么值。我尝试了git filter-branch -d /tmp
和mktemp -d
的输出,但是都导致错误“ ...已经存在,请删除它”。
什么是正确的使用方式?
答案 0 :(得分:0)
https://git-scm.com/docs/git-filter-branch#git-filter-branch--f
git filter-branch
拒绝从现有的临时目录开始
因此,要么将不存在的目录传递到-d
,要么将-d
与-f/--force
一起使用。
答案 1 :(得分:0)
仅使用不存在的目录的名称。 Git会创建它。创建过程将确保新创建的临时目录为空,这意味着git filter-branch
将能够正确运行。
请注意,当filter-branch
使用目录时,它还会在目录中创建几个子目录。如果您使用的是--tree-filter
,则临时树目录是您提供的-d
参数的子目录。
(可以将-d
与-f
一起使用,就像phd's answer一样,但是即使您已经有一个非空的refs/original/
名称,它也可以运行-空格,这不一定是个好主意。您会知道这是否是个好主意,但如果您知道这一点,那么您还将了解-d
选项,而不是问这个问题。:-))>