0

我有一个项目,我想放入 2 个存储库:公共和私有。该项目有一些私人文件,我不希望任何人看到这就是为什么我必须创建一个私人存储库并且这些文件将在其中。同样,我希望该项目出现在我的投资组合中,这样雇主就会更容易地评估我的技能,因此我也会创建一个公共档案。

所以我必须使用.gitignore,不是吗?但它足够安全吗?我想如果我将项目提交到私有存储库,然后添加一些文件.gitignore并将其提交到公共存储库,那么gitignore可以从历史记录中检索这些文件,不是吗?因此,即使在公共存储库中,每个人都可以看到它们,这不是我想要的。无论如何,我必须在提交之前不断地添加和删除gitignore这些文件,这很可笑。

我该怎么办?

4

3 回答 3

1

我们有一个类似的问题,我处理这个问题的方式是必须完全分离存储库,并使用 Beyond Compare 定期同步更改。在您的情况下,我假设“私人”回购将是您主要开发的地方,而“公共”实际上只是一个只读回购,因此您将在“私人”中完成所有工作,然后复制根据需要使用差异工具更改为“公共”。

于 2013-11-03T14:07:37.770 回答
1

gitignore使文件完全不受版本控制,这对于源代码来说通常是不可取的。

也许:

  • 您的公共代码和私有代码拆分到各自的存储库中
  • 公共代码重构为私有代码可以使用的连贯
  • 将公共仓库建立为私有仓库的子树,如下所示:

git subtree add -P public_directory git://github.com/user/public-repo.git master

于 2013-11-03T12:05:42.207 回答
0

为什么要公开git 存储库?听起来您想公开存储库的内容(实际代码),而不是存储库结构(历史记录)。

如果你绝对想公开你的存储库,你可以为你的私有内容使用一个单独的分支,你不时地基于你的公共分支。永远不能将私有分支推送到任何公共存储库。这可能是一个管理负担。

于 2013-11-03T11:56:26.110 回答