最近项目中涉及同项目下多git仓库的操作,习惯命令行的同事建议写脚本,习惯IDE的我当然是尝试IDE操作咯,稍微模式一番后发现IDE还是没让我失望,下面简单记录下基本操作(以Webstorm为例)。

为了方便演示,建了几个空仓库,demo-root、demo-sub1、demo-sub2、demo-sub3,先拉去demo-root,作为顶层项目:

jetbrains-cvs-demo1

然后拉去第一个子项目放到demo-root下,以demo-sub1为例,依次拉取demo-sub1、demo-sub2、demo-sub3:

jetbrains-cvs-demo2

之后结构大概是这个样子的:

jetbrains-cvs-demo3

点击右下角分支管理,对比单一仓库的项目,会多出一个仓库列表,弹出界面是这样的:

jetbrains-cvs-demo4

为了测试,在根目录增加文件.gitignore、忽略多个子文件夹,并且修改各仓库README.md:

jetbrains-cvs-demo5

以熟悉的方式提交打开提交变更(Commit Changes)界面,这里并没有什么区别,如图:

jetbrains-cvs-demo6

随后,直接选择Commit and Push,Commit结束后自动弹出Push Commits界面,这里明确区分出各个分支的变更,以便区分,如图:

jetbrains-cvs-demo7

点击Push,之后右下角可见不同于以往的Push成功提示,如图:

jetbrains-cvs-demo8

Pull动作默认与普通操作无异:

jetbrains-cvs-demo9

但可以根据Git Root选择要Pull的仓库:

jetbrains-cvs-demo10

最后就是分支合并、比较等,打开右下角分支管理,可以清晰的展开各个仓库分支依次操作:

jetbrains-cvs-demo11

不过,很有可能的是,你的多仓库项目打开是这样的:

jetbrains-cvs-demo12

很有可能是在导入的时候你没有注意到右下角、或者控制台Event Log里面的提示,如:

jetbrains-cvs-demo13

也可能看到了这里,但是你点了Ignore,这时候可以打开File->Settings,找到Version Control,里面大概是这样的:

jetbrains-cvs-demo14

选择要操作的仓库目录,点击右上角的加号,IDE就可以识别啦。

不得不说,Jetbrains系的IDE已经基本覆盖我日常操作了,简单记录一下方便新手,同时也欢迎屏幕前的你分享更多技术技巧,可以发到我的有些me#poorren.com