Enviar pesquisa
Carregar
Submodule && subtree
•
3 gostaram
•
1,551 visualizações
哲 于
Seguir
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 15
Baixar agora
Baixar para ler offline
Recomendados
Visual Studio 2015 與 Git 開發實戰
Visual Studio 2015 與 Git 開發實戰
Will Huang
Git 使用介绍
Git 使用介绍
medcl
寫給大家的 Git 教學
寫給大家的 Git 教學
littlebtc
Git and Github basic with SourceTree
Git and Github basic with SourceTree
Chu-Siang Lai
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
Learn git
Learn git
甘 李
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
Recomendados
Visual Studio 2015 與 Git 開發實戰
Visual Studio 2015 與 Git 開發實戰
Will Huang
Git 使用介绍
Git 使用介绍
medcl
寫給大家的 Git 教學
寫給大家的 Git 教學
littlebtc
Git and Github basic with SourceTree
Git and Github basic with SourceTree
Chu-Siang Lai
工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai
Learn git
Learn git
甘 李
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
Git基礎介紹
Git基礎介紹
Max Ma
Git 入門與實作
Git 入門與實作
奕浦 郭
Git in a nutshell
Git in a nutshell
Nelson Tai
版本控制 使用Git & git hub
版本控制 使用Git & git hub
維佋 唐
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
PingLun Liao
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
Add mailinglist command to gitolite
Add mailinglist command to gitolite
琛琳 饶
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
Git introduction
Git introduction
mythnc
Xcode 的 git 版本管理
Xcode 的 git 版本管理
彼得潘 Pan
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
Introduction to git
Introduction to git
Bo-Yi Wu
Git Essence Tutorial
Git Essence Tutorial
Ho Kim
幸福快樂的完美結局
幸福快樂的完美結局
Anna Su
Git and git hub
Git and git hub
唯 李
Git 入门实战
Git 入门实战
icy leaf
Git Tutorial 教學
Git Tutorial 教學
Wen-Tien Chang
連哈秋都懂的Git教學
連哈秋都懂的Git教學
hydai
Git & Sourcetree 介紹
Git & Sourcetree 介紹
Adison wu
Git由超淺入超深
Git由超淺入超深
羊 小咩 (lamb-mei)
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
flylon
Git & git hub v1.2
Git & git hub v1.2
Chris Chen
Mais conteúdo relacionado
Mais procurados
Git基礎介紹
Git基礎介紹
Max Ma
Git 入門與實作
Git 入門與實作
奕浦 郭
Git in a nutshell
Git in a nutshell
Nelson Tai
版本控制 使用Git & git hub
版本控制 使用Git & git hub
維佋 唐
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
PingLun Liao
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
Add mailinglist command to gitolite
Add mailinglist command to gitolite
琛琳 饶
Git與source tree 基礎教學
Git與source tree 基礎教學
Duncan Chen
Git introduction
Git introduction
mythnc
Xcode 的 git 版本管理
Xcode 的 git 版本管理
彼得潘 Pan
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
Introduction to git
Introduction to git
Bo-Yi Wu
Git Essence Tutorial
Git Essence Tutorial
Ho Kim
幸福快樂的完美結局
幸福快樂的完美結局
Anna Su
Git and git hub
Git and git hub
唯 李
Git 入门实战
Git 入门实战
icy leaf
Git Tutorial 教學
Git Tutorial 教學
Wen-Tien Chang
連哈秋都懂的Git教學
連哈秋都懂的Git教學
hydai
Git & Sourcetree 介紹
Git & Sourcetree 介紹
Adison wu
Git由超淺入超深
Git由超淺入超深
羊 小咩 (lamb-mei)
Mais procurados
(20)
Git基礎介紹
Git基礎介紹
Git 入門與實作
Git 入門與實作
Git in a nutshell
Git in a nutshell
版本控制 使用Git & git hub
版本控制 使用Git & git hub
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Add mailinglist command to gitolite
Add mailinglist command to gitolite
Git與source tree 基礎教學
Git與source tree 基礎教學
Git introduction
Git introduction
Xcode 的 git 版本管理
Xcode 的 git 版本管理
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Introduction to git
Introduction to git
Git Essence Tutorial
Git Essence Tutorial
幸福快樂的完美結局
幸福快樂的完美結局
Git and git hub
Git and git hub
Git 入门实战
Git 入门实战
Git Tutorial 教學
Git Tutorial 教學
連哈秋都懂的Git教學
連哈秋都懂的Git教學
Git & Sourcetree 介紹
Git & Sourcetree 介紹
Git由超淺入超深
Git由超淺入超深
Semelhante a Submodule && subtree
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
flylon
Git & git hub v1.2
Git & git hub v1.2
Chris Chen
Git原理与实战 201607
Git原理与实战 201607
Charles Tang
Git+使用教程
Git+使用教程
gemron
Git基础培训
Git基础培训
诸葛修车网-诸葛商城
Git Tutorial
Git Tutorial
Drake Huang
Git入門介紹
Git入門介紹
mudream4869
Git Flow 管理
Git Flow 管理
Pu Lee
Git 教學
Git 教學
Ming-Sian Lin
Git 实战
Git 实战
Edward Lee
Github in xcode
Github in xcode
郁凱 曾
20170510 git 懶人包
20170510 git 懶人包
Chen-Ming Yang
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報
Bachue Zhou
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
Wei-Yuan Chang
First meetingwithgit
First meetingwithgit
Rhythm Sun
20150313 ian git
20150313 ian git
LearningTech
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Philip Zheng
Git 簡介(古時候的簡報備份)
Git 簡介(古時候的簡報備份)
Hsin-lin Cheng
Github简介及实用入门
Github简介及实用入门
Rongxing Liu
Android 程式設計(4)
Android 程式設計(4)
Roy Wang
Semelhante a Submodule && subtree
(20)
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git & git hub v1.2
Git & git hub v1.2
Git原理与实战 201607
Git原理与实战 201607
Git+使用教程
Git+使用教程
Git基础培训
Git基础培训
Git Tutorial
Git Tutorial
Git入門介紹
Git入門介紹
Git Flow 管理
Git Flow 管理
Git 教學
Git 教學
Git 实战
Git 实战
Github in xcode
Github in xcode
20170510 git 懶人包
20170510 git 懶人包
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
First meetingwithgit
First meetingwithgit
20150313 ian git
20150313 ian git
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Git 簡介(古時候的簡報備份)
Git 簡介(古時候的簡報備份)
Github简介及实用入门
Github简介及实用入门
Android 程式設計(4)
Android 程式設計(4)
Submodule && subtree
1.
Git Subtree解说 by于哲 2014.3.31
2.
场景 对于⼀一些⽐比较⼤大的⼯工程,为了便于复⽤用,常常需要抽取⼦子 项⺫⽬目 A B C
3.
⽅方案1:git submodule ! ⽅方案2:git subtree
4.
git submodule submodule项⺫⽬目和它的⽗父项⺫⽬目本质上是2个独⽴立的git仓库, 只是⽗父项⺫⽬目存储了它依赖的submodule项⺫⽬目的版本号信息⽽而已。 坑: • git
pull之后,需要 git submodule update • detached HEAD state,需要 git checkout master • git clone 之后,需要 git submodule init & update • messy,etc
5.
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类似的⽂文件 • 可以以分⽀支形式切换依赖库
7.
如何使⽤用git subtree? 前期准备: ! 创建本地项⺫⽬目(两个项⺫⽬目,⼀一个库): git --git-dir=proj1.git
init --bare git --git-dir=proj2.git init —bare git --git-dir=lib1.git init —bare ! ! 填充数据,提交,etc
8.
如何使⽤用git subtree? ! ! 1. git
remote add -f <⼦子仓库名> <⼦子仓库地址> ! 其中-f意思是在添加远程仓库之后,⽴立即执⾏行fetch ! 2. git subtree add --prefix=<⼦子⺫⽬目录名> <⼦子仓库名> <分⽀支> —squash ! —squash意思是把subtree的改动合并成⼀一次commit,这样就不⽤用拉取⼦子 项⺫⽬目完整的历史记录。 ! --prefix之后的=等号也可以⽤用空格。 ! ! 添加⼦子⺫⽬目录,建⽴立与git项⺫⽬目的关联
9.
如何使⽤用git subtree? ! ! 1. git
fetch <远程仓库名> <分⽀支> ! 2. git subtree pull --prefix=<⼦子⺫⽬目录名> <远程分⽀支> <分 ⽀支> --squash ! ! ! 从远程仓库更新⼦子⺫⽬目录
10.
如何使⽤用git subtree? ! ! 1. git
subtree push --prefix=<⼦子⺫⽬目录名> <远程分⽀支名> 分⽀支 ! ! ! ! ! 从⼦子⺫⽬目录push到远程仓库
11.
git subtree原理 libs master new
master
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
14.
参考 • http://aoxuis.me/posts/2013/08/07/git-subtree/ • http://blogs.atlassian.com/2013/05/alternatives-to-git- submodule-git-subtree/ •
http://www.worldhello.net/2010/10/31/2041.html
15.
THANK YOU @jackyu
Baixar agora