华为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