华为iSource 团队蒋鑫 - 《华为Git实践:工作模式创新,及多中心分布式架构 》
2020-02-27 1504浏览
- 1.ԅGitਫ᪢ ૡ֢ཛྷୗڠෛ҅݊ग़Ӿஞړୗຝ ᰎ ԅದํᴴݪل
- 2.
- 3.
- 4.蒋 鑫 ங҈ܗஙמғgotgit҅http://www.worldhello.net‣ Git contributor (git clean -i, ...) ‣ Git l10n coordinator (https://github.com/git-l10n/git-po)‣ 《Git权lub》, 2011 (https://github.com/gotgit/gotgit)‣ 2005—2015L自雇佣L前一半时间vpSVNLe一半时间h 纠正这O错误 ‣ 2015.12 加入华P iSource g队 ๏ “ԣԣԣҘᬮฎᛔᎸҘ”
- 5.Git F3mily GiEHFb AoHeCedE:eH:oleoAen DoFCce 阿里 腾讯 Microsoft VSTS Google DEyle code CeGieH foC GiE OMEGA • Distributed; freedom; commit any where, any time • Geeky • Fork + Pull Request • Social coding • UI • Sync of fork repos; waste of disk spaces • Multi-repo management, git submodule? • Review in Google style • Multi-reposolution:repo • Project by project, not a platform ᪡•ݶڊᨶᒋCeԩntጱralᕁizeၹd, lack of freedom ḡفཛྷ•ୗڠJuෛst ጱfor᠗reၹview, and the UI
- 6.• Gitૡ֢ၞڠෛ • ग़ӾஞGitຝ
- 7.ړୗૡ֢ၞጱࢯಟ1ғ๐ۓᒒጱਂێؙܴ Fresh clone, and hard links clone ਂؙ After new push and GC ਂؙ
- 8.ړୗૡ֢ၞጱࢯಟ2ғਮಁᒒ֢ጱ॔ Boring procedure fork upstream origin ࣈ Strange procedure How about topic branches? 4GXGTUG/GTIG4GSWGUV upstream origin • slow down clone/fetch • loose references҅high IO • chaos of visibility of all refs ࣈ git remote add upstream URL git fetch upstream git rebase upstream/master git push -f origin HEAD How about 100 repos? Repo 1 Repo 2 fork fork ... ... Fork 1 Fork 2 fork Repo 100 Fork100
- 9.ړୗૡ֢ၞጱࢯಟ3ғग़ՙପىᘶ • Multiple repos in one project, why? ‣ GC, clone are quite slow for big repos; auth; micro services • git submoduleғᭇአࢱғՙପ҅ຂᘠݳ ‣ Recurisivesubmodules:ൈᬿ॔ጱፓ୯્ॺ ‣ Update of gitlinks. ᬴ๅෛ᩻ڹๅෛᳯ᷌ ‣ Conflict of gitlinks. ඪ೮پӡᎸ҅ݎᓌፗฎᅒᵙ • 2016ଙ҅iSourceӥጱӞӻᶱፓᥴᘠ҅20ৼՙಘीک1000ৼ ՙ... ...
- 10.No fork, no feature branch, and no submodules
- 11.OMEGA One-stop Multi-Endpoints Git Access git push --receive-pack=omega origin \HEAD:refs/for/target-branch/local-branchgitlab-shell (omegaғᚆܨᚆٟ) i/oFCce DC3fE meCge CeqFeDE API#1 GET /ssh-info API#3 POST super-mr API#2 POST merge-request API#4 GET super-mr/:id giE-CeceiGe-A3ck --omeg3 GiE HookD • omeg3-meCge-CeqFeDE • omeg3-ACe-CeceiGe • omeg3-AoDE-CeceiGe • No foCk ‣ CCe3Ee -R MR byAFD:‣ DC3fE mode -R MR • No fe3EFCebC3nc:‣ /Aeci3lCefeCeneD:CefD meCgeD 123 :e3d • No DFbmodFleD ‣ M3nifeDE CeAo 3nd 1ML ‣giE-mm:CeHCiEe CeAo in gol3ng foC OMEGA
- 12.OMEGAཛྷୗ֢ᐏֺ git push originHEAD:refs/for/master/my/topic1'>HEAD:refs/for/master/my/topic1