2013-11-03 98 views
0

我有一个项目,我想把它放到2个仓库中:公共和私人。该项目有一些私人文件,我不希望任何人看到这就是为什么我必须创建一个私人存储库,并将其中的文件。同样,我希望项目能够在我的投资组合中,所以雇主会更轻松地评估我的技能,并且我也会创建一个公开的个人资料。一个项目,不同的仓库

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

我该怎么做?

回答

1

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

如果您绝对想要公开您的存储库,那么您可以为您的私人内容使用单独的分支,然后在公共分支上重新绑定。绝不能将私人分支推送到任何公共存储库。这可能是一个负担管理。

2

gitignore使文件完全脱离版本控制,这对于源代码来说通常是不合需要的。

也许:

  • 分裂公共私人代码到自己的仓库
  • 重构公共码成一个连贯的私营代码消耗
  • establis小时公共回购的私人回购的subtree像这样:

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

2

我们也有类似的问题,我处理这个问题的方法是有完全不同的版本库,并使用超越比较周期性同步更改。就你而言,我假设'私人'回购将会是你的主要发展发生的地方,而'公开'实际上只是一个只读回购,所以你可以在'私人'中完成所有的工作,然后复制根据需要使用差异工具更改为“公开”。

相关问题