如何在vscode中使用GitLab
我同广大码友们一样,好不容易赶上了个节假日,回到家一顿安排,可屁股还没坐热就接到线上紧急BUG需要修复,木办法,拉项目导分支又是一顿排查,最后git stash,git add,git commit到 git push最后gerge 打包发布。。。下面用vscode说一下如何进行这一系列操作
git 生成 ssh key
由于本地Git仓库和GitLab仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key
如果已安装了git,并且配置了用户名和邮箱(windows)去c盘->用户->自己的用户名->.ssh下看是否有id_rsa、id_rsa.pub文件否则本地用使用ssh命令创建新的sshkey(我通过git bash)来创建:
$ ssh-keygen -t rsa -C "youremail@example.com"
ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。
语法:
ssh-keygen (选项)
选项
-b:指定密钥长度
-e:读取openssh的私钥或者公钥文件
-C:添加注释
-f:指定用来保存密钥的文件名
-l:显示公钥文件的指纹数据
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥
-N:提供一个新密语
-P:提供(旧)密语
-q:静默模式
-t:指定要创建的密钥类型
其中密钥类型 -t 说明:
1、如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。
2、密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息,所以在这里输入自己的邮箱或者其他都行。
输入完毕后程序同时要求输入一个密语字符串(passphrase), 空表示没有密语, 3次回车即可完成当前步骤,此时c盘>用户>自己的用户名>.ssh目录下已经生成好了。
注:这里强调说明一下,如果键入密语后后续使用git命令pull和push等操作时便会让你输入之前键入的密语,这里我嫌麻烦就在键入密语的时候直接回车,表示不需要密语
将命令复制到gitlab账号上
登录gitlab。点击头像打开settings -> SSH keys 把生成好的公钥id_rsa.pub里面的内容放进key输入框中,再为当前的key起一个title来区分每个key。点击Add Key即可。
克隆项目到本地工作空间
使用如下命令即可克隆远程仓库的代码到本地:
git clone git@154.118.232.126:dev/web/mydemo.git
提交代码
vscode有内置的git插件,所以无需安装,当然你也可以使用其他git插件辅助
因为从远程down下来的是master下的代码,需要先切换到你要开发的分支,也可以新创建dev分支,然后切换到dev分支:
$ git checkout -b dev
Switched to a new branch 'dev'
同样使用vscode的话点击左下角标注的地方即可切换分支,你所有的改动都会在侧边栏显示,点击后可以看到你的具体改动的地方。这一步相当于git status
然后你可以点击加号将代码 add 到暂存区。
暂存区: .git目录下的index文件, 暂存区会记录 git add 添加文件的相关信息(文件名、大小、timestamp...),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的
然后点击 √ 将文件添加到本地仓库同时在输入框中输入描述信息,这一步相当于git commit -m 'msg'。最后点击左下角你分支名称旁边的按钮,它会实时记录状态,这一步相当于git push。
拉去远程仓库代码并 merge 到自己的分支
首先切换到master分支:点击左下角分支名称。然后点击项目名称旁边的三个小白点(...)拉取项目,这里区别于同步,当然,此时也可以在控制台输入 git pull 拉取远程仓库最新的代码。
最后切换到自己的分支
输入git merge master即可将远程仓库的最新代码同步到自己的分支。
以上就是vscode中使用git的简单操作,而对于不想使用github desktop的同学如果也在使用vscode操作是一样的