【问题标题】:Open sourcing a project: different commit histories on local and remote repo?开源项目:本地和远程仓库的不同提交历史?
【发布时间】:2015-08-27 09:22:06
【问题描述】:

我很快就会开源一个项目。不过我的问题是代码中有一些硬编码的凭据。当然,我删除了它们,现在有一个单独的配置文件来处理凭据。 由于带有凭据的提交历史记录,我无法发布整个存储库。

我的想法是删除.git 文件夹,运行git init 提交并推送它。使用此解决方案,我将丢失我想保留的所有提交历史记录。或者另一个想法:我将所有项目文件复制到另一个文件夹并初始化我提交和推送的存储库。然后我会在两个文件夹中拥有相同的项目,但在一个文件夹中我会有提交历史记录。

有什么方法可以在您的本地和远程 repo 上拥有不同的提交历史记录?可能不是我害怕。你会如何处理这种情况?非常感谢您的建议!

【问题讨论】:

    标签: git github version-control open-source


    【解决方案1】:

    来自there

    要从整个历史记录中删除名为 passwords.txt 的文件,您可以使用 --tree-filter 选项来过滤分支:

    $ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD

    在您的情况下,使用硬编码密码从历史源文件中删除,并使用最新提交添加正确的源文件而没有密码

    【讨论】:

      猜你喜欢
      • 2018-12-14
      • 2013-11-25
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 2016-01-17
      • 2018-12-05
      相关资源
      最近更新 更多