git subtree 替代 git submodule

git subtree 替代 git submodule

git subtree 替代 git submodule

Dc89646cda5315e0395ffa6efafd320a?s=128

cloudsben

July 24, 2013
Tweet

Transcript

  1. git subtree ෼ڗ -@cloudsben

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

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

  4. 为ॄ㜮ཁ࢖༻git subtree • ؅ཧ࿨ߋ৽ྲྀఔൺ较ํศ • git v1.5.2Ҏ޳ݐ议࢖༻git subtree (git v1.7.11

    ࠽߹ኂ进དྷ) • 仓库 cloneԼདྷෆधཁ init ࿨ update • ෆձ产ੜ૾ .gitmodule 㜎ࣅతจ݅ • git submodule 删আىདྷൺ较费劲 • 㠥֎还༗Ұࠣ团队协࡞时త尴䭾问题
  5. ࢖༻ git subtree ձ۰౸ॄ㜮 • 㟬ಘֶձgit subtree৽త߹ኂํࣜ࿨໋ྩ • 给ࢠ仓库贡ݙ୅码༗఺ൟ琐

  6. ೗Կ࢖༻git subtree • git subtree -h • 䈀简ํࣜ • ී௨ํࣜ

    • ೋṧํࣜ
  7. 䈀简ํࣜ • ఴՃࢠ仓库 git subtree add --prefix=lib 仓库஍ ᅿ ෼ࢧ

    --squash • ߋ৽ git subtree pull --prefix=lib 仓库஍ᅿ ෼ࢧ --squash • 这䝅ํࣜ㭕༻༩୞࢖༻ଖଞ仓库୅码,ෆpush୅ 码ํࣜ ,ୠੋ᠍఺बੋ໋ྩ༗఺⻓长
  8. ී௨ํࣜ • ఴՃ远ఔ෼ࢧ 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
  9. ೋṧํࣜ • टઌղ释为ॄ㜮ੋೋṧํࣜ, ༗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
  10. THANK YOU @cloudsben cloudsben.com