2013-04-24 74 views
3

我不是那种经验丰富的版本控制,这是我第一次使用Git。我们使用BitBucket和TortoiseGit,进行设置并运行。从git上更新隔离特定文件夹

现在,我希望能够隔离一个文件夹(我们称之为“资源”),它将保存一些资源文件,如图形,脚本,声音,这些文件对于项目中的编码人员并不重要。编码员不能从此文件夹中拉出或同步。

但是,其他团队应该能够操纵这个“资源”文件夹并对其进行更改,同时还能够接收编码人员所做的更改。

据我所知,有一个忽略函数可以创建一个.gitignore列表。但据我了解,这个列表将忽略所有用户中的文件/文件夹,因此没有人能够在它被定义为忽略的情况下尽快访问“资源”文件夹。

另一种方法是将“起源”分支到“编码器”分支和“资源”分支。然后,“编码器”将推送到远程的“编码器”或从远程的“编码器”拉出,推到(但从未拉出)“起点”,也不会推到“资源”。 “资源”将始终从“原点”拉出/推出,但从不拉入“编码器”。

我怀疑这个过程真的需要某种“推送到分支机构的特定列表”选项。

不知道如果我对这个工作是正确的,我已经尝试了几个实验,但显然是失败了。我看错了吗?对于这种情况,最好的解决方案是什么(最好使用TortoiseGit)。

回答

1

请确保您不要在该文件夹中放置太多(二进制)“资源”:作为git仓库,这些资源将被克隆,并且可以显着增加仓库的大小。

我会建议隔离那些在一个单独的回购,并宣布回购作为您的主要发展回购submodule

通过这种方式,编码人员可以克隆主库,并且不必(如果他们不需要)初始化和更新“资源”子模块。
但是,如果他们需要,那么TortoiseGit > Submodule update就足以让内容加载到他们的工作树中。

+0

感谢您的回答VonC。 – ichtyander 2013-04-28 13:28:01

+0

抱歉,按下输入得太早。感谢您的回答@VonC。所以要清楚,我知道在本地克隆回购将很好地克隆它,从而在本地HDD上占用空间。但是这不应该增加远程回购的大小,对吧?至于使用子模块,当你提到一个单独的回购时,这实际上意味着我需要为子模块在BitBucket上分配一个新的回购?我相信BitBucket提供了一个免费的回购,所以这可能不是我们现在的最佳解决方案。无论如何,我会研究这个。再次感谢! – ichtyander 2013-04-28 13:34:19

+0

@ichtyander您在本地克隆远程回购,因此大小相同(远程和本地)。另外,BitBucket让你拥有尽可能多的* public * repos(只有私人的限制)。 – VonC 2013-04-28 13:38:55

相关问题