赞
踩
前言:一直在使用git进行项目的版本控制,但是从来没有对其中的原理以及使用流程有一个清晰的认识,想通过这篇文章主要是要弄清楚整个代码提交的流程以及提交流程中在本地和远程发生的变化做出一个清晰的原理解释,以便于更加深入理解,表述若有错误欢迎评论区留言指导。
先对整个提交流程做一个总结:
1.创建远程仓库(Gitee或者GitHub上创建新项目)
2.初始化设置Git,即设置全局的用户名和邮箱(如果使用ssh协议还要生成ssh key,在GitHub或者Gitee账户里面添加ssh key,还要在git bash 进行第一次连接测试[必做]!)
3.从远程仓库克隆代码(http协议输入仓库的https地址,ssh协议输入仓库ssh地址)
4.在本地修改代码
5.本地Git版本管理
6.本地仓库上传远程仓库
7.在远程仓库Gitee或者GitHub上查看更改
可以看出这几种办法,基本流程差不多,区别在于两点:
Git初始化设置 ,ssh多了一步ssh key
远程仓库地址不同
去官网下载安装即可,一路默认设置即可,这个软件没什么需要特别设置的。
根据电脑版本选择
登录GitHub账号,进入之后,在右上角点击+号,选择New repository,
在新的页面,填写项目名称,比如叫:testGit,剩下的信息默认即可,点击最下面的Create repository 即可创建一个新的项目。
然后会自动跳转到我们的项目首页面,如果想要https地址或ssh地址,向图片这样点击查看即可,地址右侧还可以复制
在Gitee创建新项目大同小异,自行设置即可
在开始菜单找到Git并打开Git Bash接下来,使用以下命令给你这个电脑取一个名字和邮件地址:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
Git是分布式版本控制系统,每个机器都必须有一个名字和Email地址,这样大家才会知道是谁上传的,谁修改的。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。
当然也可以对某个仓库指定不同的用户名和Email地址,此时使用不带–global参数的命令,其实只要去掉 --global即可,也可以自行搜索。
由于这里是全环境设置,因此不必在某个文件夹打开git bash
在这里说明一下,设置本地邮箱和用户名,因为不用验证,所以可以乱写,写什么都可以,但是不推荐这么做,推荐同github或者Gitee的一样。我的演示如下图所示,
这样我们的Git设置便成功了。
注意此步骤无论是使用ssh协议还是https协议都是需要做的。
查看所有配置
git config --list
查看当前用户
git config user.name
初次设置用户名
git config user.name "用户名"
修改用户名
git config --global --replace-all user.name "用户名"
通过vscode连接Gitee或者GitHub的一般步骤如下:
在Github或者Gitee上创建一个空的仓库
使用Git安装自带的Git Bash设置全局的用户名和邮箱地址
设置本地公钥和本地私钥也即ssh
把公钥填入Gitee或者GitHub的账户里面并进行第一次测试连接
通过vscode克隆Gitee或者GitHub远程代码
本地修改代码,也即模拟日常写代码过程
本地Git管理,提交本地仓库。[git版本管理:本地仓库]
上传到远程仓库
到远程仓库进行确认
前两个步骤在前面已经准备过了,第三、四个步骤是ssh独特的步骤,也是必须的,无论是连接Gitee或者GitHub,值得注意的是,必须进行第一次测试连接,否则是无法克隆成功的(重要!)。
我们直接从第三个步骤开始:
创建SSH Key,之前看下在C:\Users\yourname目录有没有.ssh文件夹,如果有打开看看有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接使用。如果没有,打开Git Bash (这个和前面设置全局用户名邮箱那个步骤是一样的,打开输入即可,由于是全局设置没必要纠结在哪个文件夹打开),输入一下命令,创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key是自己使用的,为了方便无需设置密码。
如果顺利的话,在C:\Users\yourname用户主目录里找到.ssh目录 (如果没有看看是不是隐藏了) ,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥别泄露出去,id_rsa.pub是公钥可以告诉别人。
在C:\Users\yourname.ssh文件夹里面找到id_rsa.pub这个文件,使用vscode打开(不要用记事本),复制其中的内容备用。
至此准备工作全部完成,剩下的工作就是在Gitee和GitHub里面进行分别设置了。
总结一下,ssh协议和https协议中的步骤差别有两点,这是第一点git的设置差别。
(1)在账号里面绑定id_rsa.pub公钥并且连接
我们打开Github账号,右上角点击:头像-设置,
点击SSH公钥,把从vscode里面打开的之前复制备用的id_rsa.pub文件内容复制进来,标题随便写,然后点击确定即可
接着需要打开Git Bash去验证是否配置成功,输入
ssh -T git@gitee.com
需要确认并添加主机到本机SSH可信列表。若返回
Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
如下所示:
打开一个新的VsCode,尚未打开任何文件或者文件夹的,输入快捷键Ctrl+shift+P,输入Git,然后选择克隆clone,在新出现的窗口我们需要输入一下Gitee项目的SSH地址,
如下图,打开Github网页的项目,点击克隆/下载点选SSH后选择复制,这就是我们需要复制到VsCode的ssh地址。
接着就可以把地址复制到之前的VsCode对话框,点击回车确定。
接着弹出让我们保存的对话框,这里我把他放到桌面的test文件夹,这里你可以放到自己的项目文件夹
输入之后,稍等一下,你就会发现已经克隆完毕,vscode提醒你打开,我们点击打开即可。(同时我们在文件夹里面也已经能看到我们克隆出来的远程库内容。
接下来就是本地代码的写入了。
打开之后,我们看到如下图所示,点击第一个箭头选择文件夹管理,箭头2表示接下来填上一些文件改动,比如新建一个test.js文件加入一点内容,修改redeme文件的内容;以便接下来测试是否可以回传到GitHub。写完后保存,我们发现箭头4的位置已经出现了一个蓝色的1图标,我们点击它进入Git管理界面。
我们更改从远程克隆的文件,在里面添加新的内容,如上方框所示,你当然可以写一点别的内容,这一步是模拟我们日常在本地写代码的过程。
从下图可以看到我们点击后看到,这说明我们已经有了一个更改,文件的后面的字母M表示文件发生了更改,意味着modified。
我们点击这文件,发现如下图所示,可以看出我们对文件的更改是增加了部分内容。
最后我们点击图标M左边的+号(这里我点过了就变成-了),可以看到如下所示,说明我们把更改暂存了,但是此时还没有提交。
按照提示,我们在箭头处填写信息,此处的信息意味着我们对提交做出一点备注,你可以随便写的(我写了我做了什么修改),比如修复了一个bug或者增加了什么代码,那这里就演示为add-code。随后点击箭头处 对号 提交。
提交完成我们发现好像什么都没了。这其实已经成功了修改、并且把代码提交到了本地仓库
。
提交之后,这里Git版本管理就全部完成了,但是我们的目的不是把代码提交到本地仓库
,而是提交远程仓库
。
在我们需要做的是把提交同步到远程库。点击如下图的箭头处即可,出现弹窗点确定
用SSH连接github总结
1、软件安装
2、 在Gitee或者GitHub里面创建新的仓库
3、 使用Git安装自带的Git Bash设置全局的用户名和邮箱地址
4、设置本地公钥和本地私钥也即ssh
5、把公钥填入Gitee或者GitHub的账户里面并进行第一次测试连接
6、通过vscode输入仓库的https地址进行克隆Gitee或者GitHub远程仓库到本地
7、在本地修改代码,也即模拟日常写代码过程
8、Git版本管理,就是那些加号和对号[git版本管理:本地仓库],提交本地仓库。
9、本地上传到远程仓库 点击vscode下面的按钮
10、在远程仓库确认修改
通过vscode连接GitHub的一般步骤如下:
通过vscode克隆GitHub远程代码
本地修改代码,也即模拟日常写代码过程
本地Git管理,提交本地仓库。[git版本管理:本地仓库]
上传到远程仓库
到远程仓库进行确认
1.先在自己放项目的文件下创建一个放git项目的文件夹,比如我这里显示就在桌面创建一个名为test的文件夹
2.去github复制仓库的https地址
3.在开始菜单打开vscode,直接按快捷键ctrl+shift+P,然后输入git,选择克隆clone,
4.将第一步复制的链接粘贴到这里
5.接下来,会让我们选择克隆库的位置在哪,我们选择自己放项目的文件夹即可(注意不要中文)
右下角显示正在克隆
6.克隆完成后,告诉我们是否打开克隆仓库,我们选择打开即可
打开之后,我们看到如下图所示,点击第一个箭头选择文件夹管理,箭头2表示接下来填上一些文件改动,比如新建一个test.js文件加入一点内容,修改redeme文件的内容;以便接下来测试是否可以回传到GitHub。写完后保存,我们发现箭头4的位置已经出现了一个蓝色的1图标,我们点击它进入Git管理界面。
我们更改从远程克隆的文件,在里面添加新的内容,如上方框所示,你当然可以写一点别的内容,这一步是模拟我们日常在本地写代码的过程。
从下图可以看到我们点击后看到,这说明我们已经有了一个更改,文件的后面的字母M表示文件发生了更改,意味着modified。
我们点击这文件,发现如下图所示,可以看出我们对文件的更改是增加了部分内容。
最后我们点击图标M左边的+号(这里我点过了就变成-了),可以看到如下所示,说明我们把更改暂存了,但是此时还没有提交。
按照提示,我们在箭头处填写信息,此处的信息意味着我们对提交做出一点备注,你可以随便写的(我写了我做了什么修改),比如修复了一个bug或者增加了什么代码,那这里就演示为add-code。随后点击箭头处 对号 提交。
提交完成我们发现好像什么都没了。这其实已经成功了修改、并且把代码提交到了本地仓库
。
提交之后,这里Git版本管理就全部完成了,但是我们的目的不是把代码提交到本地仓库
,而是提交远程仓库
。
现在我们需要做的是把提交同步到远程库。点击如下图的箭头处即可,出现弹窗点确定
随后会弹出让你登录github界面,我们选择这里比较方便,
接下来就是vscode和GitHub的双向授权,一路同意即可,这里面或许包括登录,许可授权什么的。。,我们经过这次之后,以后进入自己的仓库是不授权了,授权这次比较特殊。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。