Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git我如何隐藏一些提交历史记录?_Git - Fatal编程技术网

git我如何隐藏一些提交历史记录?

git我如何隐藏一些提交历史记录?,git,Git,我必须为第三方机构部署我的代码,因为在旧的提交历史记录中有一些先前的信息。虽然现在我已经将这个先前的信息添加到gitignore中,但它保留在旧的历史中 那么,如何让第三方机构看不到旧的历史呢 我试过以下两种方法 为部署创建另一个部署repo,删除.git,并将其初始化为新的repo。然后将developrepo添加为remote,从中选择每个新提交。虽然这是可行的,但是每次在开发repo中有新提交时,选择提交将花费太多的时间 在开发回购协议中,挤压所有旧的提交,但是有太多的提交,并且挤压过程中

我必须为第三方机构部署我的代码,因为在旧的提交历史记录中有一些先前的信息。虽然现在我已经将这个先前的信息添加到gitignore中,但它保留在旧的历史中

那么,如何让第三方机构看不到旧的历史呢

我试过以下两种方法

  • 为部署创建另一个部署repo,删除.git,并将其初始化为新的repo。然后将developrepo添加为remote,从中选择每个新提交。虽然这是可行的,但是每次在开发repo中有新提交时,选择提交将花费太多的时间
  • 在开发回购协议中,挤压所有旧的提交,但是有太多的提交,并且挤压过程中有很多冲突。这将失去旧的承诺

  • 有没有合适的方法可以做到这一点。

    仅仅在新回购协议上部署最新版本是不够的,并且每次需要发布该机构的源代码时都要更新它?simple
    git rebase-i commitish
    行得通吗?编辑包含敏感信息的旧提交,您应该可以。这是否回答了您的问题?没有办法“隐藏”历史。要么在那里,要么不在。您唯一的选择是在与第三方共享的新存储库中创建单独的快照。这听起来像是:您的实际任务是将一些代码部署到生产环境中。您已经开始尝试将git用于该作业,但发现了一个问题:您不想将历史记录复制到服务器上,但git只是复制历史记录。寻找一种更合适的过程或工具,而不是找到一种方法将git用于它不是为之设计的东西。这可能意味着改变数据库迁移的方式,如果这些迁移与git历史有某种联系的话,但从长远来看,这会减少痛苦。