我正在测试如何使用git / bitbucket。我上传了一个我不应该的文件。现在我删除了它,但它仍然可以在历史中看到。我怎么能完全删除它?
答案 0 :(得分:1)
看起来您正在寻找的答案涵盖here
你想要的工具是git filter-branch。它的用法在这里描述, 但基本上是:
$ git filter-branch --tree-filter 'rm -f my_file' HEAD will remove "my_file" from every commit.
请注意,这会重写每次提交,因此如果你推入一个遥控器 存储库,您必须(a)强制更新,(b)其他所有人 从你那里撤出的人现在会有重复的提交(因为你重写了 历史),如git rebase man page所述。
答案 1 :(得分:-1)
$mystring = "banana";
$regex_str = "/^" . preg_quote($mystring, "/") . "\-[a-z0-9]\-[a-z0-9]$/";
然后强行推动:
git reset --hard (find the sha1 of your first commit)
我几乎重写了你所推动的任何分支的整个历史。
来源here