私有项目用着 gitlab,现在想开源到 github
但历史提交中存在不想泄露的敏感文件,虽然最新的 HEAD 已经删掉了文件,但一旦传到 github 也能通过历史提交找到这些文件
如果按删除敏感文件的操作,如 https://help.github.com/articles/removing-sensitive-data-from-a-repository/ ,就会重写所有历史,但项目的其他地方有对 git 历史 commit 的引用,不想修改历史提交
也许可以先备份一份.git 目录,执行 删除敏感文件的操作得到另一份修改后的.git ,这样就有了两个不同的 git 历史;原版本继续 push 给自己的 gitlab,清理过的可以 push 给 github
要提交新的 commit 的时候 对.git 目录操作 add commit push 一次后改名 对另一个.git 目录也同样操作一次 add commit push,两个 git 目录互不干扰
这种为不同远程服务器维持两个不同版本,新加的修改同时提交给两个 git 历史,有啥最佳实践嘛?
或者有啥更好的方案嘛?也许从零开始一个分支 把历史提交一个个过滤好重新 commit,不同服务器传不同分支,但这样也还是要提交一次后切分支再提交一次
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.