首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使Git回购公开而不披露过去的犯罪

使Git回购公开而不披露过去的犯罪
EN

Stack Overflow用户
提问于 2016-09-05 19:48:36
回答 2查看 8.3K关注 0票数 19

我有一个私人回购,里面有一堆敏感数据。然而,我最近清理了所有的敏感数据,以便它可以公开。如果我将GitHub上的私有回购更改为公开,是否所有过去的提交都是可见的(即有人能看到来自过去的敏感数据)?

如果是这样的话,我如何使回购公开而不公开过去提交的历史?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-05 20:28:21

转到想要的提交:

代码语言:javascript
运行
复制
git checkout <your_commit_hash>

进入初始提交,保留所有当前更改:

代码语言:javascript
运行
复制
git reset <intial_commit_hash_here> --soft

然后提交并修改选项

代码语言:javascript
运行
复制
git commit --amend -m"My new initial commit"

然后你就准备好进行公开回购了

代码语言:javascript
运行
复制
git push <your_remote> master

最初的变更历史将在git reflog中仍然可用,但不会被推送到远程回购系统。

UPD。要获得第一个提交的id,请使用this answer中的命令

代码语言:javascript
运行
复制
git rev-list --max-parents=0 HEAD
票数 13
EN

Stack Overflow用户

发布于 2016-09-05 19:51:31

我建议克隆(或者只是复制当前回购中的所有非.git文件)到一个新的回购,然后把新的回购公开。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39336842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档