1

我不知道这是否有意义......

我有一个主要的私人 git 存储库,我在其中进行所有编码。我设置了另一个公共 git 只发布公共结果(我的一些原始数据是敏感信息)。我在私有 git 中的一个文件夹中准备好了所有结果。

那么,是否可以仅将公共 git 跟踪的分支(github-pages)创建为我的私有 git 的结果文件夹?

或者你们都有更好的工作流程吗?

谢谢,

4

2 回答 2

1

对的,这是可能的

你可以这样做:

1)将私人文件夹临时移动到另一个地方

2)创建一个新的仓库(您应该这样做以从旧提交中删除任何可能在公共分支中公开私有文件的日志)并在主分支上仅包含公共文件(现在)

    git init
    git add . 
    git commit -m 'adding public files to repo'

2) 创建并签出一个名为 public_stable 的新分支

    git checkout -b public_stable

3) 创建一个带有“/your-private-folder-name/.”行的 .gitignore 文件 在 public_stable 分支中,从您的公共分支中排除这些文件

例如,在 linux 机器上...

    touch .gitignore && echo '/your-private-folder/*' >> .gitignore

下一个...

    git add .gitignore
    git commit -m 'this branch will ignore files located on private folder'

4)回到master并从master创建一个新的分支private_stable

    git checkout master
    git checkout -b private_stable

4)现在您可以将私有文件夹移回您的项目

    git add /your-private-folder-name/.
    git commit -m 'added private files'

5)在此之后,您将有两个主要分支需要处理:public_stable 和 private_stable

6)要处理您的私人文件,您应该从 private_stable 分支以创建与稳定工作分开的正在进行的工作。

从私人稳定...

   git checkout -b private_issue

完成 private_issue 后,您可以将更改合并到 private_stable

您可以对 public_* 分支应用相同的工作流程

这样您就可以将公共内容与私人内容隔离开来。

Master 将拥有所有文件,但您应该避免将位于 public_* 分支中的 .gitignore 合并到 master 或 private_ 分支。

于 2013-06-20T03:56:52.120 回答
0

由于它是一个分支,我建议从分支中删除除该文件夹之外的所有内容并提交。无论如何,您似乎只希望在该分支中使用它,这不应该对您的工作流程产生影响。

于 2013-03-08T01:48:42.180 回答