记得早前使用宇宙第一开发工具VS时,团队源码管理选择TFS是众多小伙伴的选择,当git出来以后,微软也适时的在Team Foundation里面支持使用git管理源码了,你就可以非常愉快的使用git克隆存储库,但对于大型的项目来说,一次性克隆上千个项目手工整的话非常的累人啊。
团队开发使用Team Foundation来进行源码管理,通常对于大型项目来说,编写一个BAT文件批量克隆项目对于首次拉取项目非常的方便,不需要你一次一次的执行枯燥的git clone命令,对于上千个项目,这得整到何时方可休啊,所以懒人得想点懒办法,使用批处理命令可以轻松搞定。
BAT批量克隆项目
想要一次性批量克隆1000个项目,得分几步来实现:
- 第一步:先获取到每个项目的克隆地址
- 第二步:保存结果到记事本文件(注意编码用ANSI)
- 第三步:编写bat文件
- 第四步:执行bat文件
- 第五步:喝会茶再回来
脚本获取项目克隆地址
想要在Team Foundation里面批量克隆1000个项目,首先得想办法得到每个项目的地址,你可以直接进入到项目版本控制界面,最好使用chrome,edge,firefox等浏览器,因为你要用到开发者工具,在控制台里面编写一段脚本,如下图所示:
左边就是存储库里面的项目列表,每个项目的克隆地址我们可以编写一段js脚本来获取到,代码如下:
var arrary= document.querySelector(“#tfs_tnul1”).querySelectorAll(“li”); var url=””; for(var i = 0; i< arrary.length; i++){ url+=”http://jhrs.com/tfs/UniversityProjects/jhrswpf/_git/”+ encodeURIComponent(arrary[i].title)+” “+arrary[i].title+”\r\n”; } console.log(url);
然后在控制台里面是这样的。注意,以上代码是在一行里面,不要换行。
把代码编写好了之后,敲回车执行下就是了,结果如下:
好了,执行后我们就拿到了所有项目的克隆地址。
保存结果到记事本
为什么要将结果保存到记事本呢?是因为我们在接下来的bat文件中会读取该文件中的克隆地址,有朋友会问,为什么不直接将地址放到bat批处理文件中呢?答案是因为克隆地址存在有中文,URL地址经过编码,直接放到批处理文件中执行时会报错,不信可以自己试。
用记事本建立list.txt文件,使用ANSI编码。
上图分别是list.txt文件,该文件必须使用ANSI编码保存,不然会出错,因为批处理中文乱码。
编写bat文件
bat文件内容如下
@echo off echo 按任意键开始批量克隆 pause for /f "delims= tokens=1,2" %%i in (list.txt) do ( echo %%i %%j git clone %%i %%j ) echo 'git clone finish!' pause
以上代码就是通过bat读取list.txt文件来批量克隆项目的关键。新建记事本文档,把上面内容复制进去,保存即可,文件编码选为ANSI编码,默认是UTF8,另存为就可以改编码了。
执行bat文件
bat文件编写好后,执行就是了,批量克隆效果如下:
因为项目比较多,需要等好长时间。最好喝会茶再回来看看。
总结
工作中发现团队小伙伴一个一个的克隆项目,实在麻烦,于是就花了一些时间研究了一下,就用到了这些懒办法来实现批量克隆项目,总算是不用一个一个的去敲git clone命令,接下来再复制下一个项目的克隆地址,然后再git clone了。
我是IT菜鸟,喜欢这篇文章吗?喜欢就用下方打赏来支持让我有写作的动力哟。