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

使用git subtree管理子仓库

martinsun1年前 (2022-01-24)Git1.3 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

分享给朋友:

相关文章

Linux Centos安装Git管理工具

一、Linux安装 安装git yum install git 安装gitolite基础包 yum install perl openssh git 增加git用户,git用户组 user...

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

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

Git 标签[tag]的创建和删除

Git 标签[tag]的创建和删除

简述通常在发布以git管理的项目时,都会通过tag标签来生成快照,如发布1.0,2.0等版本。 生成标签生成标签之前,需要先切换到对应的分支上,如果只有主分支则在主分支打标签。 生成标签的...

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

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

从SVN仓库迁移至Git仓库

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