孤雪飘寒 2019-06-28
我同广大码友们一样,好不容易赶上了个节假日,回到家一顿安排,可屁股还没坐热就接到线上紧急BUG需要修复,木办法,拉项目导分支又是一顿排查,最后git stash
,git add
,git commit
到 git push
最后gerge 打包发布。。。下面用vscode说一下如何进行这一系列操作
由于本地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 "[email protected]"
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),空表示没有密语(这里强调说明一下,如果键入密语后后续使用git命令pull和push等操作时便会让你输入之前键入的密语,这里我嫌麻烦就在键入密语的时候直接回车,表示不需要密语)3次回车即可完成当前步骤,此时c盘>用户>自己的用户名>.ssh
目录下已经生成好了。
登录gitlab。点击头像打开settings->SSH keys把生成好的公钥id_rsa.pub里面的内容放进key输入框中,再为当前的key起一个title来区分每个key点击Add Key即可
使用如下命令即可克隆远程仓库的代码到本地:
git clone [email protected]: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
首先切换到master分支:点击左下角分支名称。然后点击项目名称旁边的三个小白点拉取项目,这里区别于同步,当然,此时也可以在控制台输入git pull
拉取远程仓库最新的代码
其次切换到自己的分支,然后输入git merge master
即可将远程仓库的最新代码同步到自己的分支。
以上就是vscode中使用git的简单操作,而对于不想使用github desktop的同学如果也在使用vscode操作是一样的