Windows下不用敲一行命令使用webstorm将代码上传至Gitlab已经存在的库
前言
Git这个神器对于程序员来说并不陌生了。用git当代码其实比较简单,使用一行命令
git clone http://xx.xx.xx.xx.git
就可以完成了。但是上传代码就比这复杂多了。鄙人也是踩了很多次坑,可能之前成功后没做记录,隔段时间再做就忘了。三天不练手生,这句话还是有点道理的。所以,这里留下一些笔记,供自己也供大家参考。
首先我对于web开发习惯用webstorm。别跟我提vscode。后者除了ts的支持稍微比webstorm好点,其余完败。毕竟前者是收费的。言归正传。用webstorm上传代码到github其实比较简单,因为默认集成了github的插件。上传到gitee也简单,可以从插件市场下载gitee的插件。但是上传代码到gitlab就不怎么简单了。
注意,上传代码到git的前提就是要先安装git.下载完后,一路无脑点击安装就行。默认安装在C盘,建议不要修改路径,因为webstorm会默认匹配这个git.exe的执行文件路径。当然不嫌麻烦也可以自己手动修改。
我的webstorm安装了中文插件,ws的版本的2022.1。后面的操作以此版本进行讲解。
解决方式
一、纯命令行方式
PS:注意,windows下使用命令行模式最好在powershell下面运行,而不是普通的win+R,不然可能会出现一堆的莫名其妙的问题。webstorm的terminal就打开的是windows的powershell。
回到正题。
网上搜索得到的结果,清一色地类似:
先cd到需要上传的文件夹的根目录,然后分别键入
git init
git remote add origin https://xx/xx/xx/xx.git
git add .
git commit -m "Initial commit"
git push -u origin master
这些操作还算标准,但是你自己去操作的话就会出现很多问题。具体什么问题,我就不详解了,你可以自己试试。下面我就来说说webstorm自带的git管理上传。
二、使用Webstorm上传
这里,我先建了一个gitTest的项目,用于演示
然后我在gitlab那边新建了一个GitLabUploadTest的空仓库。并且为了模拟那些喜欢加README文件的手痒党,我也默认加了readme(为什么我会提到这个文件。因为有些时候建库的不是我们自己,而且我们的权限也没有master的权限。但是建库的人就喜欢多这一步,给你生成一个README。这样一来,他们不写代码,苦了我们自己,上传的时候如果我们存在的项目有README了,那就绝对冲突,导致上传失败,淦)。
然后我们回到webstorm,找到VCS->创建Git仓库
默认的话就是指向当前项目,然后选择确定
这个时候,项目的文件名字会变颜色
并且VCS
那个选项会变成Git
我们点击这个Git
选项,选择管理远程
然后会弹出下面的窗口
点击+号
会要求我们输入URL
,此时我们回到浏览器,找到我们新建的gitlab仓库首页,选择clone
拷贝http的那个以git结尾的链接,粘到前面的URL输入框里面。
然后,点击确定
。
需要注意的时,如果这是第一次添加这个域下的gitla时,还会弹出一个你登录该gitlab的账号密码输入框。校验成功后,就将该项目绑在远程的gitlab上面了。
为了防止冲突,我们先将项目里面的READMEy移到另外一个地方。
然后右键项目名字,选到Git->添加
然后文件又会变颜色(绿色)
接着再右键,选择Git->提取
,来获得远程有哪些分支。这一步的操作就是防止,我们没有master分支的权限,导致提交失败。一般来讲,建库的人给我们分配的只有develop分支的上传权限,因此我们要先看一下远程上有哪些分支,然后同步到本地,并切换到有权限的分支,然后上传。
因为我们这个项目只有一个master分支,所以拉下来的只有这个分支,然后点击右下角的master图标
找到origin/master
,并选择签出
,此时就等同于完全与远程建立好了链接,并且代码库也准备好了同步。
这时我们再把之前备份的README覆盖现有的README,文件名会变颜色。
然后我们邮件Git->提交
然后键入提交备注
点击提交
,成功的话,左下角会提示
接着,再次邮件,选到推送
然后点击推送
然后就会显示
此时再去gitlab页面刷新一下