从在线存储库中删除提交的文件-Github / eGit

时间:2018-09-27 13:26:41

标签: git github egit

我有一个使用了一段时间的私人在线存储库。我现在想将其公开,但是它拥有机密信息。因为我对Git / Github还是比较陌生,所以我不确定该怎么做,因为据我了解,如果我删除存储库中的任何这些文件,它们也将在下一次提取时在本地删除。 / p>

我当前的想法是创建一个新分支,并只推送我实际要存储在存储库中的文件。然后,将该新分支设为新的“默认”主分支,并删除旧的主分支。

这项工作吗?有更好的选择吗?

2 个答案:

答案 0 :(得分:1)

看看git filter-branch命令。这将重写您存储库的历史记录,从而更改您更改的现有提交和任何相关提交的SHA。更改的提交SHA可能会影响存储库中的打开请求请求,因此建议在从存储库中删除文件之前合并或关闭所有打开的请求请求。

有关更多信息,请参见https://help.github.com/articles/removing-sensitive-data-from-a-repository/

不过,从您的帖子中还不清楚,您是否打算从旧仓库中保存机密信息。如果肯定的话,您最好复制您的私人仓库,从中删除所有机密信息,然后将其作为全新的公共仓库推送到GitHub。

答案 1 :(得分:0)

看看Git BFG(请参阅下面的参考资料),它使您可以从存储库中删除文件(创建可以推送的新存储库)。该链接显示了许多用例。

https://rtyley.github.io/bfg-repo-cleaner/