我有一个私人回购,里面有一堆敏感数据。然而,我最近清理了所有的敏感数据,以便它可以公开。如果我将GitHub上的私有回购更改为公开,是否所有过去的提交都是可见的(即有人能看到来自过去的敏感数据)?
如果是这样的话,我如何使回购公开而不公开过去提交的历史?
发布于 2016-09-05 20:28:21
转到想要的提交:
git checkout <your_commit_hash>进入初始提交,保留所有当前更改:
git reset <intial_commit_hash_here> --soft然后提交并修改选项
git commit --amend -m"My new initial commit"然后你就准备好进行公开回购了
git push <your_remote> master最初的变更历史将在git reflog中仍然可用,但不会被推送到远程回购系统。
UPD。要获得第一个提交的id,请使用this answer中的命令
git rev-list --max-parents=0 HEAD发布于 2016-09-05 19:51:31
我建议克隆(或者只是复制当前回购中的所有非.git文件)到一个新的回购,然后把新的回购公开。
https://stackoverflow.com/questions/39336842
复制相似问题