当前位置:首页 > 编程相关 > Git > 正文内容

使用git subtree管理子仓库

martinsun2年前 (2022-01-24)Git1.69 K

说明

最近在使用一个仓库统一管理其他子仓库的代码,降低在平时维护的成本,做了以下的梳理

介绍

  • git gitmodule有一定区别,可以在网上查阅相关资料
  • 必须要学会使用git subtree的相关命令,因为即便是windwos的 TortoiseGit 也不带界面操作功能,常用的命令在下文会列出

常用命令

为了便于理解,这里准备两个测试仓库说明

# 主仓库,地址为 https://git/father.git
father
    |
    |--src # 子仓库统一存放目录
    |-- 代码文件
    |-- README.md

# 子仓库,地址为 https://git/children.git
children
    |
    |-- 代码文件
    |-- README.md
  • 在父仓库中新增子仓库
      # 简化后续操作命令,减少每次要输入仓库地址的繁琐操作
      git remote add -f children https://git/children.git
      # 添加子仓库到父仓库
      git subtree add --prefix=src/children children main --squash
  • 从源仓库拉取更新
    用于子仓库源更新,在主仓库拉取更新
      git subtree pull --prefix=src/children children main --squash
  • 推送修改到源仓库
    用户在主仓库中做了修改,推送到子仓库
      git subtree push --prefix=src/children children main

版权声明:本文由MartinSun发布,内容供学习参考使用。

图文说明:部分图文来源于网络,如侵权请联系删除。

本文链接:https://www.sunyonghong.com/?id=47

分享给朋友:

相关文章

使用Git命令设置提交的用户名、邮箱

全局修改(对应修改配置文件:~/.gitconfig)git config --global user.name "Your Name" git config --global...

Centos 7安装gitlab

本文介绍使用yum方式gitlab 一、配置镜像源可以访问 gitlab-ce Installation instructions 获取安装命令,也可以复制下面的命令 curl -s https:...

迁移/修改gitlab代码仓存放位置

说明由于随着项目的逐渐增加,原储存磁盘已经不足以使用,于是对gitlab代码仓库进行了储存位置迁移 一、停止服务操作之前,需要停止服务,防止有新的数据写入 gitlab-ctl stop 二、修...

从SVN仓库迁移至Git仓库

一、安装工具在 Centos 系统中安装 git-svn工具 yum install git-svn -y在 Windows 系统上操作则安装 git-base 二、生成svn转git的账号对应关...

git 更新 fork 的项目到原项目的最新版本

说明fork 了一个项目之后,原仓库更新后,自己的fork项目想要同步更新原仓库,可以查看下面的操作步骤。 ps: 下文中提到的上游仓库,指的是原仓库 查看远程的版本库地址主要用于确定本地是否已经...