我有这样的目录结构:
|-- ROOT
|-- Project1
| |-- application
| |-- img
| |-- js
| |-- css
| `-- system
|
|-- Project2
| |-- application
| |-- img
| |-- js
| |-- css
| `-- system
|-- Project3
....
根文件夹包含总共 x 个项目:“Project1”、“Project2”、“Project3”等。
现在我想在“系统”、“css”和“js”上使用git。 每个项目的这些文件夹应该相同。 那么如何用git同步所有项目呢?
我猜想创建一个“主项目”并将新的修改推送到那里,并将新版本 pull 到所有其他项目。但那是痛苦的**..
我想要的是运行一些命令/批处理文件来一次同步所有内容。 例如,如果我有 6 个项目并且我修改了项目 1 中的某些内容,我如何才能快速将此修改应用于所有项目(而不是将项目 1 推到“Master”并 pull 它 5 次)?
这可能吗?
仅作记录,我正在 Windows 机器上工作。
最佳答案
您可能仍想使用子模块。参见 this page in the git book .
使用子模块可以非常简单地处理您正在谈论的更改类型。见下半场this answer很好地总结了这个过程。
我已经修改了我之前的答案,因为我可以看到,如果您需要让多个项目保持同步,这对多个项目来说可能会有点痛苦,因为更新主项目中的所有子模块提交引用需要一些时间.根据之前的回答,如果您想这样做,我建议您编写此过程的脚本。
一旦项目成熟,它确实有优势,但根据我的经验,经常会发生无法同时更新所有项目的情况。有时一个项目在一段时间内仍然需要旧版本。在这种情况下,您可以只更新所需的项目以引用子模块中的新提交,然后在有空时升级其他项目。
关于git - 如何使用git同步多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838355/