2

我在 GitHub 上有一个存储库,我想将其公开,以便招聘人员可以查看。这个存储库虽然包含我的 SMTP 和不应与其他人共享的 MongoDB URI。此信息在我的 application.properties 文件中。

隐藏这些敏感数据并确保没有人可以查看旧提交并在隐藏之前查看它的最简单方法是什么

我在网上看到了一些方法,但它们看起来都很复杂......

感谢您的经验和时间

4

4 回答 4

1

使用环境变量隐藏您的敏感数据。喜欢

spring.data.mongodb.host=${MONGO_DB_HOST}
spring.mail.host=${MAIL_HOST}

在您的开发环境中设置值。
我不知道如何隐藏你的旧提交。

于 2020-11-14T05:30:42.637 回答
0

如果目标只是招聘,是否可以接受第二份招聘,而保留原件?

虽然通过 git 肯定有更多惯用的方法来实现这一点,但具有最少 git 知识或先进技术的简单解决方案将是:

  1. 在 GitHub 上新建一个空的 git 项目
  2. 在本地克隆新项目
  3. 将现有项目中的(非.git)文件复制到新项目中(使用控制台或操作系统的窗口 UI)
  4. 从新项目中删除或编辑有问题的条目
  5. 将更改作为单个提交提交
  6. 将新项目推回 GitHub
于 2020-11-13T21:47:56.393 回答
0

Make a .gitignore file at the root of your project and inside list whatever files you don't want git to have access to it when you push into GitHUb, for example:

/public/packs
/node_modules/
.pnp.js

/ (forward slash) is used for folders and . (dot) is used for files

Here follows a picture of the location of the .gitignore file.

enter image description here

于 2020-11-13T21:32:10.507 回答
0

我自己没有使用过,但是开源的BFG Repo-Cleaner看起来可以满足您对简单性的要求,同时保留活动图表供审阅者查看。如果您希望保留您的私人工作副本,同时仍保持活动历史记录可见,则可以在回购的公开副本上完成此操作。

按照工具的使用说明,您应该能够执行以下操作(假设您希望在新的 repo 副本中进行这些更改):

第一步是按照GitHub 文档中的说明在 GitHub 上复制存储库。

为此,首先创建一个新的存储库

接下来,按照 GitHub 说明镜像存储库:

  1. 打开终端。
  2. 创建存储库的裸克隆。
$ git clone --bare https://github.com/exampleuser/old-repository.git
  1. 镜像推送到新的存储库。
$ cd old-repository.git
$ git push --mirror https://github.com/exampleuser/new-repository.git
  1. 删除您之前创建的临时本地存储库。
$ cd ..
$ rm -rf old-repository.git

现在您有了重复的存储库,您可以运行 BFG Repo-Cleaner 来替换您想要隐藏的所有文本实例***REMOVED***

$ java -jar bfg.jar --replace-text replacements.txt  my-repo.git

replacements.txt文件将包含 SMTP、MongoDB URI 和您想要隐藏的任何其他文本。

mongodb://my-username:my-password@host1.example.com:27017,host2.example.com:27017/my-database
marco-f@example.com

请注意,这不会更新master/HEAD分支上的最新提交,因此需要手动更改,然后提交。这可以通过使用该--amend选项的最终提交来实现,或者通过在手动更改文件的情况下运行 BFG Repo-Cleaner 之前进行新的提交来实现。

$ git commit --amend

现在已经进行了更改,可以将它们推送到 GitHub。

$ git push
于 2020-11-14T05:33:50.097 回答