Slide 1

Slide 1 text

git subtree ෼ڗ -@cloudsben

Slide 2

Slide 2 text

git submodule Ҹ许ଖଞత仓库ࢦఆҰ࿽commitቕೖ仓库తࢠ໨录

Slide 3

Slide 3 text

git subtree ସ୅git submodule ໋ྩ, ߹ኂࢠ仓库౸项໨தኂ์ࡏࢠ໨录

Slide 4

Slide 4 text

为ॄ㜮ཁ࢖༻git subtree • ؅ཧ࿨ߋ৽ྲྀఔൺ较ํศ • git v1.5.2Ҏ޳ݐ议࢖༻git subtree (git v1.7.11 ࠽߹ኂ进དྷ) • 仓库 cloneԼདྷෆधཁ init ࿨ update • ෆձ产ੜ૾ .gitmodule 㜎ࣅతจ݅ • git submodule 删আىདྷൺ较费劲 • 㠥֎还༗Ұࠣ团队协࡞时త尴䭾问题

Slide 5

Slide 5 text

࢖༻ git subtree ձ۰౸ॄ㜮 • 㟬ಘֶձgit subtree৽త߹ኂํࣜ࿨໋ྩ • 给ࢠ仓库贡ݙ୅码༗఺ൟ琐

Slide 6

Slide 6 text

೗Կ࢖༻git subtree • git subtree -h • 䈀简ํࣜ • ී௨ํࣜ • ೋṧํࣜ

Slide 7

Slide 7 text

䈀简ํࣜ • ఴՃࢠ仓库 git subtree add --prefix=lib 仓库஍ ᅿ ෼ࢧ --squash • ߋ৽ git subtree pull --prefix=lib 仓库஍ᅿ ෼ࢧ --squash • 这䝅ํࣜ㭕༻༩୞࢖༻ଖଞ仓库୅码,ෆpush୅ 码ํࣜ ,ୠੋ᠍఺बੋ໋ྩ༗఺⻓长

Slide 8

Slide 8 text

ී௨ํࣜ • ఴՃ远ఔ෼ࢧ git remote add -f ෼ࢧ໊ ࢠ仓库 • git subtree add --prefix=lib2 远ఔ෼ࢧ ෼ࢧ --squash • ߋ৽仓库 git fetch 远ఔ෼ࢧ ෼ࢧ , git subtree pull -- prefix=lib2 远ఔ෼ࢧ ෼ࢧ --squash • push ౸ࢠ仓库୅码 git subtree push --prefix=lib2 sub2 master

Slide 9

Slide 9 text

ೋṧํࣜ • टઌղ释为ॄ㜮ੋೋṧํࣜ, ༗git subtree 为ॄ㜮ෆ༻ ? • ఴՃ远ఔ෼ࢧ git remote add -f ෼ࢧ໊ ࢠ仓库 • git merge -s ours --no-commit 远ఔ෼ࢧ/master (-s ours දࣔ୞ fetch ଖଞ远ఔ෼ࢧ头৴ଉԼདྷ,ୠੋෆվ变౰લ෼ࢧঢ়态) • git read-tree --prefix=lib -u 远ఔ෼ࢧ/master • git commit -m '' • git pull -s subree 远ఔ෼ࢧ master

Slide 10

Slide 10 text

THANK YOU @cloudsben cloudsben.com