git如何设置一个文件夹在不同的分支使用?

How to set a folder to be used in different branches in git?

假设我们有两个分支A和B,这些分支有文件和文件夹。

但是我想设置一个名为 X 的文件夹同时在两个分支中使用。

例如: 分支 A 将包含 a1.js、a2.js 和 X 文件夹。 分支 B 将包含 b1.js、b2.js 和与 A.

中相同的 X 文件夹

简而言之,X 文件夹将在 A 和 B 分支中共享,以便 X 中的所有更改将自动应用于两者。

我该怎么做?

简答

你不能用分支来做到这一点

更长的答案

在git中文件夹和文件不属于分支,它们包含在提交中。

因此,当您提交某些内容时 "on a branch",无法在另一个分支中更新该文件夹,这甚至没有意义:唯一的选择是在另一个分支上创建一个新的提交,对共享文件夹进行相同的修改。

这里不是讨论所有 git 细节的地方,但要理解这个答案还有很多东西需要了解...

Branches 不是您要找的

有很多选项可以解决您的问题。我从最坏到最好列出了其中三个,但我鼓励您继续研究针对您的具体情况的最佳解决方案

  1. [最差]制作一个脚本来挑选关于从一个分支到另一个分支的共享文件夹的提交

  2. [更好]将共享文件夹放在一个单独的存储库中并设置一个子模块

  3. [可能是三者中最好的]检查你的架构并将共享资源放在一个单独的模块中(应用程序模块,而不是 git 东西)并将它与你的代码分开处理