[{"data":1,"prerenderedAt":694},["ShallowReactive",2],{"wiki-page-\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju":3,"wiki-doc-items-\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju":658,"language-switcher-data-\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju":678,"wiki-i18n-paths-\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju":693},{"id":4,"title":5,"body":6,"canonicalPath":639,"chapterDepth":640,"chapterOrder":641,"date":642,"description":27,"docI18nKey":643,"docKey":644,"docRoot":645,"docTitle":646,"extension":647,"i18nKey":648,"isBlogPost":649,"isWikiDoc":38,"isWikiIndex":649,"layout":650,"legacyPath":650,"locale":651,"localeSlug":652,"meta":653,"navigation":38,"path":639,"seo":654,"sourcePath":655,"sourceStem":648,"stem":656,"wikiDepth":35,"__hash__":657},"content\u002F_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002F0300-高级工具.md","Advanced Tools",{"type":7,"value":8,"toc":634},"minimark",[9,14,21,109,114,126,129,132,135,138,141,144,147,234,237,563,568,571,591,597,600,605,609,617,621,624,630],[10,11,13],"h3",{"id":12},"batch-import-repositories-via-vcs","Batch import repositories via VCS",[15,16,17],"ol",{},[18,19,20],"li",{},"Install",[22,23,28],"pre",{"className":24,"code":25,"language":26,"meta":27,"style":27},"language-bash shiki shiki-themes github-light github-dark","\n# debian系\nsudo apt install python3-vcstool\n\n# rhel系\nsudo dnf install python3-vcstool\n\n# pip3安装\npip3 install vcstool\n","bash","",[29,30,31,40,47,64,69,75,87,92,98],"code",{"__ignoreMap":27},[32,33,36],"span",{"class":34,"line":35},"line",1,[32,37,39],{"emptyLinePlaceholder":38},true,"\n",[32,41,43],{"class":34,"line":42},2,[32,44,46],{"class":45},"sJ8bj","# debian系\n",[32,48,50,54,58,61],{"class":34,"line":49},3,[32,51,53],{"class":52},"sScJk","sudo",[32,55,57],{"class":56},"sZZnC"," apt",[32,59,60],{"class":56}," install",[32,62,63],{"class":56}," python3-vcstool\n",[32,65,67],{"class":34,"line":66},4,[32,68,39],{"emptyLinePlaceholder":38},[32,70,72],{"class":34,"line":71},5,[32,73,74],{"class":45},"# rhel系\n",[32,76,78,80,83,85],{"class":34,"line":77},6,[32,79,53],{"class":52},[32,81,82],{"class":56}," dnf",[32,84,60],{"class":56},[32,86,63],{"class":56},[32,88,90],{"class":34,"line":89},7,[32,91,39],{"emptyLinePlaceholder":38},[32,93,95],{"class":34,"line":94},8,[32,96,97],{"class":45},"# pip3安装\n",[32,99,101,104,106],{"class":34,"line":100},9,[32,102,103],{"class":52},"pip3",[32,105,60],{"class":56},[32,107,108],{"class":56}," vcstool\n",[15,110,111],{"start":42},[18,112,113],{},"File format",[115,116,117,118,121,122,125],"p",{},"Files with the extension ",[29,119,120],{},".repos"," or ",[29,123,124],{},".yaml"," must follow the YAML format, otherwise an error will occur.",[115,127,128],{},"Here is the translation of the provided Simplified Chinese Markdown fragment into natural American English:",[115,130,131],{},"As follows,",[115,133,134],{},"repositories: is the main tag",[115,136,137],{},"The folder name where you place the cloned repository files within ros_ws is simply the name of the repository itself.",[115,139,140],{},"The type is the repository management type, typically git.",[115,142,143],{},"The URL is the repository address.",[115,145,146],{},"version is a branch name",[22,148,152],{"className":149,"code":150,"language":151,"meta":27,"style":27},"language-YAML shiki shiki-themes github-light github-dark","repositories:\n  ros_ws:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS_WS.git\n    version: main\n  oepncv_projects:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FOpenCV_Projects.git\n    version: main\n","YAML",[29,153,154,164,171,182,192,202,209,217,226],{"__ignoreMap":27},[32,155,156,160],{"class":34,"line":35},[32,157,159],{"class":158},"s9eBZ","repositories",[32,161,163],{"class":162},"sVt8B",":\n",[32,165,166,169],{"class":34,"line":42},[32,167,168],{"class":158},"  ros_ws",[32,170,163],{"class":162},[32,172,173,176,179],{"class":34,"line":49},[32,174,175],{"class":158},"    type",[32,177,178],{"class":162},": ",[32,180,181],{"class":56},"git\n",[32,183,184,187,189],{"class":34,"line":66},[32,185,186],{"class":158},"    url",[32,188,178],{"class":162},[32,190,191],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS_WS.git\n",[32,193,194,197,199],{"class":34,"line":71},[32,195,196],{"class":158},"    version",[32,198,178],{"class":162},[32,200,201],{"class":56},"main\n",[32,203,204,207],{"class":34,"line":77},[32,205,206],{"class":158},"  oepncv_projects",[32,208,163],{"class":162},[32,210,211,213,215],{"class":34,"line":89},[32,212,175],{"class":158},[32,214,178],{"class":162},[32,216,181],{"class":56},[32,218,219,221,223],{"class":34,"line":94},[32,220,186],{"class":158},[32,222,178],{"class":162},[32,224,225],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FOpenCV_Projects.git\n",[32,227,228,230,232],{"class":34,"line":100},[32,229,196],{"class":158},[32,231,178],{"class":162},[32,233,201],{"class":56},[115,235,236],{},"Here is a general example:",[22,238,242],{"className":239,"code":240,"language":241,"meta":27,"style":27},"language-yaml shiki shiki-themes github-light github-dark","repositories:\n  tungchiahui:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002Ftungchiahui.git\n    version: main\n  ros_ws:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FROS_WS.git\n    version: main\n  oepncv_projects:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FOpenCV_Projects.git\n    version: main\n  stm32_projetcts:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FSTM32_Projects.git\n    version: main\n  mdk6_template:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FCubeMX_MDK5to6_Template.git\n    version: master\n  serial_pack:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FSerial_Pack.git\n    version: main\n  ros-docker:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002Fros-docker.git\n    version: main\n  CyberRobotROS:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002FCyberNaviRobot\u002FCyberRobot_ROS2_Jazzy_WS.git\n    version: main\n  CyberRobotMCU:\n    type: git\n    url: https:\u002F\u002Fgithub.com\u002FCyberNaviRobot\u002FSTM32_FreeRTOS_MainController.git\n    version: main\n\n","yaml",[29,243,244,250,257,265,274,282,288,296,304,312,319,328,337,346,354,363,373,382,390,399,409,419,427,436,446,455,463,472,482,491,499,508,518,527,535,544,554],{"__ignoreMap":27},[32,245,246,248],{"class":34,"line":35},[32,247,159],{"class":158},[32,249,163],{"class":162},[32,251,252,255],{"class":34,"line":42},[32,253,254],{"class":158},"  tungchiahui",[32,256,163],{"class":162},[32,258,259,261,263],{"class":34,"line":49},[32,260,175],{"class":158},[32,262,178],{"class":162},[32,264,181],{"class":56},[32,266,267,269,271],{"class":34,"line":66},[32,268,186],{"class":158},[32,270,178],{"class":162},[32,272,273],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002Ftungchiahui.git\n",[32,275,276,278,280],{"class":34,"line":71},[32,277,196],{"class":158},[32,279,178],{"class":162},[32,281,201],{"class":56},[32,283,284,286],{"class":34,"line":77},[32,285,168],{"class":158},[32,287,163],{"class":162},[32,289,290,292,294],{"class":34,"line":89},[32,291,175],{"class":158},[32,293,178],{"class":162},[32,295,181],{"class":56},[32,297,298,300,302],{"class":34,"line":94},[32,299,186],{"class":158},[32,301,178],{"class":162},[32,303,191],{"class":56},[32,305,306,308,310],{"class":34,"line":100},[32,307,196],{"class":158},[32,309,178],{"class":162},[32,311,201],{"class":56},[32,313,315,317],{"class":34,"line":314},10,[32,316,206],{"class":158},[32,318,163],{"class":162},[32,320,322,324,326],{"class":34,"line":321},11,[32,323,175],{"class":158},[32,325,178],{"class":162},[32,327,181],{"class":56},[32,329,331,333,335],{"class":34,"line":330},12,[32,332,186],{"class":158},[32,334,178],{"class":162},[32,336,225],{"class":56},[32,338,340,342,344],{"class":34,"line":339},13,[32,341,196],{"class":158},[32,343,178],{"class":162},[32,345,201],{"class":56},[32,347,349,352],{"class":34,"line":348},14,[32,350,351],{"class":158},"  stm32_projetcts",[32,353,163],{"class":162},[32,355,357,359,361],{"class":34,"line":356},15,[32,358,175],{"class":158},[32,360,178],{"class":162},[32,362,181],{"class":56},[32,364,366,368,370],{"class":34,"line":365},16,[32,367,186],{"class":158},[32,369,178],{"class":162},[32,371,372],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FSTM32_Projects.git\n",[32,374,376,378,380],{"class":34,"line":375},17,[32,377,196],{"class":158},[32,379,178],{"class":162},[32,381,201],{"class":56},[32,383,385,388],{"class":34,"line":384},18,[32,386,387],{"class":158},"  mdk6_template",[32,389,163],{"class":162},[32,391,393,395,397],{"class":34,"line":392},19,[32,394,175],{"class":158},[32,396,178],{"class":162},[32,398,181],{"class":56},[32,400,402,404,406],{"class":34,"line":401},20,[32,403,186],{"class":158},[32,405,178],{"class":162},[32,407,408],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FCubeMX_MDK5to6_Template.git\n",[32,410,412,414,416],{"class":34,"line":411},21,[32,413,196],{"class":158},[32,415,178],{"class":162},[32,417,418],{"class":56},"master\n",[32,420,422,425],{"class":34,"line":421},22,[32,423,424],{"class":158},"  serial_pack",[32,426,163],{"class":162},[32,428,430,432,434],{"class":34,"line":429},23,[32,431,175],{"class":158},[32,433,178],{"class":162},[32,435,181],{"class":56},[32,437,439,441,443],{"class":34,"line":438},24,[32,440,186],{"class":158},[32,442,178],{"class":162},[32,444,445],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002FSerial_Pack.git\n",[32,447,449,451,453],{"class":34,"line":448},25,[32,450,196],{"class":158},[32,452,178],{"class":162},[32,454,201],{"class":56},[32,456,458,461],{"class":34,"line":457},26,[32,459,460],{"class":158},"  ros-docker",[32,462,163],{"class":162},[32,464,466,468,470],{"class":34,"line":465},27,[32,467,175],{"class":158},[32,469,178],{"class":162},[32,471,181],{"class":56},[32,473,475,477,479],{"class":34,"line":474},28,[32,476,186],{"class":158},[32,478,178],{"class":162},[32,480,481],{"class":56},"https:\u002F\u002Fgithub.com\u002Ftungchiahui\u002Fros-docker.git\n",[32,483,485,487,489],{"class":34,"line":484},29,[32,486,196],{"class":158},[32,488,178],{"class":162},[32,490,201],{"class":56},[32,492,494,497],{"class":34,"line":493},30,[32,495,496],{"class":158},"  CyberRobotROS",[32,498,163],{"class":162},[32,500,502,504,506],{"class":34,"line":501},31,[32,503,175],{"class":158},[32,505,178],{"class":162},[32,507,181],{"class":56},[32,509,511,513,515],{"class":34,"line":510},32,[32,512,186],{"class":158},[32,514,178],{"class":162},[32,516,517],{"class":56},"https:\u002F\u002Fgithub.com\u002FCyberNaviRobot\u002FCyberRobot_ROS2_Jazzy_WS.git\n",[32,519,521,523,525],{"class":34,"line":520},33,[32,522,196],{"class":158},[32,524,178],{"class":162},[32,526,201],{"class":56},[32,528,530,533],{"class":34,"line":529},34,[32,531,532],{"class":158},"  CyberRobotMCU",[32,534,163],{"class":162},[32,536,538,540,542],{"class":34,"line":537},35,[32,539,175],{"class":158},[32,541,178],{"class":162},[32,543,181],{"class":56},[32,545,547,549,551],{"class":34,"line":546},36,[32,548,186],{"class":158},[32,550,178],{"class":162},[32,552,553],{"class":56},"https:\u002F\u002Fgithub.com\u002FCyberNaviRobot\u002FSTM32_FreeRTOS_MainController.git\n",[32,555,557,559,561],{"class":34,"line":556},37,[32,558,196],{"class":158},[32,560,178],{"class":162},[32,562,201],{"class":56},[15,564,565],{"start":49},[18,566,567],{},"How to use?",[115,569,570],{},"Place the yaml file in a folder where you want to store a large number of repositories, then enter the following command:",[22,572,574],{"className":24,"code":573,"language":26,"meta":27,"style":27},"vcs import \u003C myrepos.yaml\n",[29,575,576],{"__ignoreMap":27},[32,577,578,581,584,588],{"class":34,"line":35},[32,579,580],{"class":52},"vcs",[32,582,583],{"class":56}," import",[32,585,587],{"class":586},"szBVR"," \u003C",[32,589,590],{"class":56}," myrepos.yaml\n",[115,592,593],{},[594,595],"img",{"alt":27,"src":596},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F29\u002Fimage87.webp",[115,598,599],{},"As shown in the figure below, the operation was successful.",[115,601,602],{},[594,603],{"alt":27,"src":604},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2023\u002F12\u002F29\u002Fimage88.webp",[10,606,608],{"id":607},"github-proxy","Github proxy",[115,610,611],{},[612,613,614],"a",{"href":614,"rel":615},"https:\u002F\u002Fghproxy.link\u002F",[616],"nofollow",[10,618,620],{"id":619},"set-up-a-blog","Set up a blog",[115,622,623],{},"Build your own blog using GitHub.",[115,625,626],{},[612,627,628],{"href":628,"rel":629},"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1g68TzPEkh",[616],[631,632,633],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":27,"searchDepth":42,"depth":42,"links":635},[636,637,638],{"id":12,"depth":49,"text":13},{"id":607,"depth":49,"text":608},{"id":619,"depth":49,"text":620},"\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju",0,"0300","2023-12-29","wiki\u002F2023-12-29-git-jiao-xue","en-us:2023-12-29-git-jiao-xue","\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue","Git教学","md","wiki\u002F2023-12-29-Git教学\u002F0300-高级工具",false,null,"en-US","en-us",{},{"title":5,"description":27},"\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002F0300-高级工具","arI4S7xITCY6kvyyThN9hqaCcTs2PkxpsOYyeLGKlgk",[659,664,669,670,675],{"path":660,"stem":661,"title":662,"date":642,"chapterOrder":663,"chapterDepth":640,"docKey":644,"docRoot":645,"docTitle":646,"isWikiDoc":38,"isWikiIndex":649},"\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0100-git-jian-jie","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002F0100-Git简介","Introduction to Git","0100",{"path":665,"stem":666,"title":667,"date":642,"chapterOrder":668,"chapterDepth":640,"docKey":644,"docRoot":645,"docTitle":646,"isWikiDoc":38,"isWikiIndex":649},"\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0200-git-shi-cao","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002F0200-Git实操","Git in Practice","0200",{"path":639,"stem":656,"title":5,"date":642,"chapterOrder":641,"chapterDepth":640,"docKey":644,"docRoot":645,"docTitle":646,"isWikiDoc":38,"isWikiIndex":649},{"path":671,"stem":672,"title":673,"date":642,"chapterOrder":674,"chapterDepth":640,"docKey":644,"docRoot":645,"docTitle":646,"isWikiDoc":38,"isWikiIndex":649},"\u002Fen-us\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0400-chang-jian-wen-ti","_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002F0400-常见问题","Frequently Asked Questions","0400",{"path":645,"stem":676,"title":677,"date":642,"chapterOrder":650,"chapterDepth":640,"docKey":644,"docRoot":645,"docTitle":646,"isWikiDoc":38,"isWikiIndex":38},"_i18n\u002Fen-us\u002Fwiki\u002F2023-12-29-Git教学\u002Findex","Git tutorial",{"variants":679},[680,681,684,687,690],{"path":639,"localeSlug":652,"i18nKey":648},{"path":682,"localeSlug":683,"i18nKey":648},"\u002Fzh-hant\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju","zh-hant",{"path":685,"localeSlug":686,"i18nKey":648},"\u002Fzh-hk\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju","zh-hk",{"path":688,"localeSlug":689,"i18nKey":648},"\u002Fzh-tw\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju","zh-tw",{"path":691,"localeSlug":692,"i18nKey":648},"\u002Fzh-cn\u002Fwiki\u002F2023-12-29-git-jiao-xue\u002F0300-gao-ji-gong-ju","zh-cn",[639,655,682,655,685,655,688,655,691,655],1784646850524]