git - 如何使用git同步多个项目?

标签 git synchronization project-management

我有这样的目录结构:

|-- 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 机器上工作。

上一个问题:Git between multiple projects

最佳答案

您可能仍想使用子模块。参见 this page in the git book .

使用子模块可以非常简单地处理您正在谈论的更改类型。见下半场this answer很好地总结了这个过程。

我已经修改了我之前的答案,因为我可以看到,如果您需要让多个项目保持同步,这对多个项目来说可能会有点痛苦,因为更新主项目中的所有子模块提交引用需要一些时间.根据之前的回答,如果您想这样做,我建议您编写此过程的脚本。

一旦项目成熟,它确实有优势,但根据我的经验,经常会发生无法同时更新所有项目的情况。有时一个项目在一段时间内仍然需要旧版本。在这种情况下,您可以只更新所需的项目以引用子模块中的新提交,然后在有空时升级其他项目。

关于git - 如何使用git同步多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838355/

相关文章:

Java 将显式锁与同步方法结合起来

c# - List<T> 属性的线程安全访问

java - 如何在 GitHub 上管理外部 JS/CSS 库

plugins - Trac 有哪些推荐的插件?

git - 如何撤消 git commit --amend

git - 在 GitHub 上 fork 后出现 "No repositories"?

java - 如何使一个功能与其他功能同步,但其他功能之间不同步?

c++ - 在 Visual Studio 2008 中的非托管 C++ 和托管 C# 项目中使用 C++ 代码

git - 如何将自定义对象数据库添加到 libgit2?

git - Jenkins 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic、密码)