More Related Content Similar to Submodule && subtree Similar to Submodule && subtree (20) Submodule && subtree5. git subtree
简介:
替代git submodule 命令,合并⼦子仓库到项⺫⽬目中并放在⼦子
⺫⽬目录,管理、更新都更加⽅方便。
要求:
git version > 1.8.0.0
if git version < 1.8.0.0:
go https://github.com/apenwarr/git-subtree
6. why git subtree?
• 管理和更新流程⽐比较⽅方便
• git v1.5.2以后建议使⽤用git subtree (git v1.8.0.0 才合并进来)
cd git/contrib/subtree && make && sudo install -m 755 git-subtree /usr/lib/git-core
•
仓库 clone下来不需要 init 和 update
•
不会产⽣生像.gitmodule类似的⽂文件
• 可以以分⽀支形式切换依赖库
8. 如何使⽤用git subtree?
!
!
1. git remote add -f <⼦子仓库名> <⼦子仓库地址>
!
其中-f意思是在添加远程仓库之后,⽴立即执⾏行fetch
!
2. git subtree add --prefix=<⼦子⺫⽬目录名> <⼦子仓库名> <分⽀支> —squash
!
—squash意思是把subtree的改动合并成⼀一次commit,这样就不⽤用拉取⼦子
项⺫⽬目完整的历史记录。
!
--prefix之后的=等号也可以⽤用空格。
!
!
添加⼦子⺫⽬目录,建⽴立与git项⺫⽬目的关联
12. git subtree原理
• git read-tree 更新暂存区
• git write-tree 保存暂存区⺫⽬目录树
• git commit-tree
porcelain瓷器
• git branch
• git commit
• git push
• etc
plumbing⽔水管
13. git subtree原理
• git read-tree —prefix=libs/lib1 lib1
• git write-tree
• echo "subtree merge" | git commit-tree id -p id1 -p id2
• git reset id