GIT分支特定文件?

时间:2012-03-03 23:01:22

标签: git version-control

我想知道是否有可能说我需要的主要回购,配置,应用程序代码等(这是一个MVC环境)并从主要的GIT仓库创建分支,只有某些模型,控制器,和意见。

所以我会有一个主要的回购

applications/*
assets/*
system/*

我会有一个分支

applications/controllers/controller_name.php
applications/model/model_name.php
applications/views/view_name.php
assets/modules/controller_name/*

然后我可以将该分支合并到每个新“MVC设置”的主回购中

这有意义吗?可以这样做吗?

2 个答案:

答案 0 :(得分:8)

Git不会基于每个文件进行分支,它会在存储库的基础上进行分支。

那就是说,仅仅因为你用整个回购制作一个分支并不意味着你必须在每个分支中拥有所有相同的文件。

答案 1 :(得分:3)

Git跟踪代码库的快照(另请参阅the Git parable)。因此,无论您希望与主分支有什么不同,您都可以在单独的分支中进行跟踪。如果这意味着您将在另一个分支中拥有新文件,则可以执行此操作。如果这意味着你将拥有相同的文件,经过修改,你就可以做到。

我不确定你的意思是“每个新的MVC设置”,但似乎你的想法很复杂。在我看来,你希望有一个“共同基础”,然后根据这个共同基础进行“特定设置”。您可以通过拥有基础的主分支,并在各个设置分支中跟踪特定于设置的更改/添加/任何内容来实现此目的。

后一种方法通常用于实践中的“产品变体”。您通常会在主分支上开发通用功能,并将其合并到您想要的每个单独的分支中,或者您可以“在主服务器之上”重新定义各个分支。

你甚至可以从一个特定于设置的分支到另一个分支获得花哨和cherry-pick个人提交,但我很离题。