zoukankan      html  css  js  c++  java
  • 使用Git Subtree在多个项目中共用同一个子项目

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8427796.html

    场景一:已有一个大项目,需要把其中一部分内容独立出来作为共用子项目,被其他项目引用

        一:先分拆

    cd 项目A
    git subtree split -P 项目A的某个目录 -b 子项目名
    cd ../
    mkdir tempDir
    cd tempDir
    git init
    git pull ../项目A 子项目名
    git remote add 子目录名 子项目仓库地址
    git push 子项目 -u 分支
    git filter-branch -f --index-filter "git rm -r -f -q --cached --ignore-unmatch 子项目名" --prune-empty HEAD //清理掉原来的commit记录

        二:再在其他项目中引用子项目

    cd 项目B
    git remote add 子项目源名称 子项目git地址 //添加子项目源
    git subtree add --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支

        三:在父项目中提交对子项目的修改

    git subtree push --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支//提交代码

        四:在父项目中拉取子项目的更新

    git subtree pull --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支//更新代码

    场景二:将一个已有项目作为子项目,被其他项目引用

        一:在git上创建一个仓库存放子项目

        二:在其他项目中引用子项目

    cd 项目B
    git remote add 子项目源名称 子项目git地址 //添加子项目源
    git subtree add --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支

         三:在父项目中提交对子项目的修改

    git subtree push --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支//提交代码

        四:在父项目中拉取子项目的更新

    git subtree pull --prefix 项目B中用来存放子项目的目录名  子项目源名称 分支//更新代码

        参阅文献:

        http://blog.csdn.net/bingshushu/article/details/51244480

        https://segmentfault.com/a/1190000003969060

       

  • 相关阅读:
    《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发
    网络监控工具 iftop dstat
    可进行组合的枚举
    查看Qt自带的QSS
    通过文件设置QSS
    QString转QByteArray
    error: jump to case label
    error: static member function cannot have cv-qualifier
    C++ std::vector的大小和容量
    获取QMessageBox返回值
  • 原文地址:https://www.cnblogs.com/ygj0930/p/8427796.html
Copyright © 2011-2022 走看看