我有一个项目,我想将其放入2个存储库:公共和私有。该项目有一些私人文件,我不希望任何人看到这就是为什么我必须创建一个私人存储库,这些文件将在其中。同样,我希望项目能够在我的投资组合中,因此雇主将更容易地评估我的技能,并且我也会创建公共资料。
所以我必须使用.gitignore
,不是吗?但它足够安全吗?我想如果我将项目提交到私有存储库,然后将一些文件添加到.gitignore
并将其提交给公共文件,那么gitignore
中的那些文件可以从历史记录中检索出来,不是吗?因此,即使在公共存储库中,每个人都可以看到它们不是我想要的。无论如何,我必须在我提交之前不断地添加和删除gitignore
这些文件,并且它是redicilious。
我该怎么办?
答案 0 :(得分:1)
gitignore
使文件完全脱离版本控制,这通常不适用于源代码。
也许:
git subtree add -P public_directory git://github.com/user/public-repo.git master
答案 1 :(得分:1)
我们遇到了类似的问题,我处理这个问题的方法是必须完全分离存储库,并使用Beyond Compare定期同步更改。在你的情况下,我假设'私人'回购将是你的主要开发发生的地方,而'public'实际上只是一个只读回购,所以你将你所有的工作做'私人'然后复制根据需要使用diff工具更改为“public”。
答案 2 :(得分:0)
为什么要将 git存储库公开?听起来您想要公开存储库的内容(实际代码),而不是存储库结构(历史记录)。
如果您绝对想要公开您的存储库,您可以为您的私人内容使用单独的分支,然后您可以在公共分支上进行重新分配。绝对不能将私有分支推送到任何公共存储库。这可能是管理的负担。