是否有可能只跟踪一个git分支中的文件夹?

是否有可能只跟踪一个git分支中的文件夹?

问题描述:

我不知道这是否有意义或不...是否有可能只跟踪一个git分支中的文件夹?

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

那么,是否有可能使公共git的分支(github-pages)跟踪我的私人git的结果文件夹?

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

感谢,

因为它是一个分支,我会建议简单地删除一切,但该文件夹从分支和提交。由于看起来您只希望在该分支中使用该功能,因此这不会影响您的工作流程。

是的,这是可能的

你可以做这样的事情:

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

2)创建一个新的回购协议(你应该这样做,以删除旧的提交,可以在公共分支暴露隐私文件的任何日志),并包括在主分支唯一的公共文件(现在)

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

2 )创建并签了一个名为public_stable

git checkout -b public_stable 

3个新的分支)创建与线的.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)返回到主并创建一个新的分支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跳转到创建正在进行独立工作稳定的工作。

from private_stable ...

git checkout -b private_issue 

,一旦你在private_issue可以合并变化做private_stable

而你可以采用同样的工作流程public_ *分支

这样,你可以从私人内容隔离公开。

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