我不熟悉版本控制,这是我第一次使用Git。我们正在使用BitBucket和TortoiseGit,进行设置和工作。
现在,我希望能够隔离一个文件夹(让我们称之为“资源”),它将保存一些资源文件,如图形,脚本,声音等对项目编码人员来说并不重要。程序员必须无法从此文件夹中取出或同步。
但是,另一个团队应该能够操作这个“资源”文件夹并对其进行更改,同时还能够接收编码员所做的更改。
我知道有一个忽略函数可以创建一个.gitignore列表。但据我了解,此列表将忽略所有用户的文件/文件夹,因此没有人能够有效地访问“resources”文件夹,因为它被定义为被忽略。
另一种方法是将“origin”分支为“coders”分支和“resources”分支。然后,“编码员”将推动和拉出远程“编码员”,推动(但从不拉动)“起源”,也从不推动“资源”。 “资源”总是会拉动/推动“来源”,而不是“编码”。
我怀疑这个过程确实需要某种“推送到特定的分支列表”选项。
不确定我是否对这是如何工作的,我已经尝试了几个实验,但显然是失败了。我看错了吗?对于像这样的情况(最好使用TortoiseGit),最好的解决方案是什么。
答案 0 :(得分:1)
确保你没有在该文件夹中放置太多(二进制)“资源”:作为git repo,这些资源将被克隆,并且它们可以显着增加repo的大小。
我建议在单独的仓库中隔离它们,并将该仓库声明为主要开发仓库的submodule。
这样,编码人员可以克隆主要仓库,如果他们不需要,则不必初始化和更新“资源”子模块。
但是如果他们需要,那么TortoiseGit > Submodule update
就足以将内容加载到他们的工作树中。