从git上更新隔离特定文件夹

从git上更新隔离特定文件夹,git,branch,git-branch,bitbucket,tortoisegit,Git,Branch,Git Branch,Bitbucket,Tortoisegit,我对版本控制没有太多经验,这是我第一次使用Git。我们正在使用BitBucket和TortoiseGit,设置并运行它 现在,我希望能够隔离一个文件夹(让我们称之为“资源”),它将保存一些资源文件,如图形、脚本和声音,这些对于项目中的编码人员来说并不重要。编码人员不能从此文件夹中提取或与之同步 然而,另一个团队应该能够操纵这个“资源”文件夹并对其进行更改,同时也能够接收编码人员所做的更改 我知道有一个ignore函数可以创建一个.gitignore列表。但据我所知,此列表将忽略所有用户的文件/文

我对版本控制没有太多经验,这是我第一次使用Git。我们正在使用BitBucket和TortoiseGit,设置并运行它

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

然而,另一个团队应该能够操纵这个“资源”文件夹并对其进行更改,同时也能够接收编码人员所做的更改

我知道有一个ignore函数可以创建一个.gitignore列表。但据我所知,此列表将忽略所有用户的文件/文件夹,因此,一旦定义为忽略“资源”文件夹,就没有人能够有效地访问它

另一种方法是将“origin”分支为“coders”分支和“resources”分支。然后“编码者”将推拉到远程“编码者”或从远程“编码者”推拉,推拉到(但从不从“源”拉),也从不推拉到“资源”。“资源”总是拉/推到“源”或从“源”到“源”,但决不会推到“编码者”

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


我不确定我对这一原理的理解是否正确,我已经尝试了几个实验,但显然失败了。我是不是看错了?对于这种情况,什么是最好的解决方案(最好使用Ortoisegit)。

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

我建议将这些回购隔离在单独的回购协议中,并宣布该回购协议是您主要发展回购协议的一部分

这样,编码人员就可以克隆主repo,如果不需要,就不必初始化和更新“资源”子模块。

但是,如果他们需要,那么一个
TortoiseGit>子模块更新
就足以将该内容加载到他们的工作树中。

感谢您的回答VonC。对不起,按enter键太早了。感谢您的回答@VonC。所以说得很清楚,我知道在本地克隆回购协议会克隆它,从而占用本地硬盘上的空间。但这不应该增加远程回购的规模,对吗?至于使用子模块,当您提到单独的回购时,这实际上意味着我需要为子模块在BitBucket上分配一个新的回购?我相信BitBucket提供了一次免费回购,所以这可能不是我们目前的最佳解决方案。不过我还是会调查的。再次感谢@ichtyander您正在本地克隆远程repo,因此大小相同(远程和本地)。另外,BitBucket可以让你拥有尽可能多的公共回购(只有私人回购是有限的)。啊,我明白了。谢谢你清理一下,我非常感激。