清除git文件历史记录后如何推送所有分支

时间:2013-11-10 16:40:26

标签: git github

我一直按照说明使用这些说明https://help.github.com/articles/remove-sensitive-data从我的github存储库中删除敏感信息。一切正常,直到我尝试强制将更改推送到我的存储库。

根据指南,我需要:

git push origin master --force

这很有效,我的主人也得到了更新。该指南现在说,

  

您需要为每个已更改的分支和标记运行此命令。   --all和--tags标志可能有助于使这更容易。

我可以使用以下方式更新所有代码:

git push origin master --force --tags

但是,我无法更新所有远程分支。我试图运行这个命令:

git push origin master --force --all

但是我收到了这个错误:

  

错误: - all不能与refspecs结合使用

我也尝试使用此命令推送到各个分支:

git push origin dev --force

但我收到此错误消息:

  

错误:src refspec dev与any匹配。

     

错误:未能将某些引用推送到'git@github.com:

如何推送到我的所有远程分支以重写其历史记录?

1 个答案:

答案 0 :(得分:0)

以下内容应该有效:

git push -f --all origin

出现错误“--all不能与refspecs结合”,因为您在特定分支“master”旁指定了“--all”,并且您必须选择其中一个。错误“src refspec dev不匹配任何”发生,因为你显然没有名为“dev”的refspec,但是你正试图推送它。