初步认识远程仓库——Github


实际开发过程中往往需要好多人一起开发,那么就会涉及到交换代码的问题。这时仅有本地仓库就不够用了,需要有个远程仓库。

创建远程仓库

  首先创建自己的Github账号,然后创建一个工程
在这里插入图片描述
之后页面提示我们新建一个仓库
在这里插入图片描述

推送本地代码到远程仓库

我们有两种通信协议:SSH和HTTPS。
在这里插入图片描述

SSH方式

SSH(Secure Shell)协议是目前比较可靠,专门为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
使用SSH协议要使用基于密钥的方式。我们必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。如果我们要连接到SSH服务器,客户端就会向服务器发出请求,需要使用密钥进行安全验证,服务器收到请求后,先在该服务器上我们的主目录下寻找公用密钥,然后把它与发送过来的密钥进行比较,如果两个密钥一致,服务器就会用公钥加密质询并把它发送给客户端软件,客户端收到质询后就可以用私人密钥解密发送给服务器。

生成SSH密钥

ssh-keygen -t rsa

输入命令后生成密钥对,存储在当前用户下的.ssh目录下,可以在我的电脑中查看
在这里插入图片描述
id_rsa这个没有后缀的文件就是私钥,需要保留好。id_rsa.pub是公钥,需要告诉github服务器。我们用记事本打开公钥,复制后打开Github,点击头像中的settings,找到SSH and KGP keys,新建SSH KEY。之后我们就不再需要服务器和密码,可以直接和服务器进行通讯。

推送到远程仓库

git remote add origin SSH地址
git push -u origin master

HTTPS方式

使用HTTPS相对简单,依靠用户名和密码认证身份的。不再需要密钥了。如果我们使用乌龟的话,用户名和密码只要输入一次,乌龟就会记住。

克隆远程仓库到本地

github上在仓库中点击Clone or download,clone和推送一样也有SSH和HTTPS两种方式。这两种方式没有区别,clone方式不需要身份认证。

我们可以用工具行clone:

git clone clone的地址

或者直接使用git工具:
在这里插入图片描述

推送修改的文件和冲突解决

实际开发中并不是每次我们都要把仓库全部都复制一份,修改上传也不是全都上传。我们只需要把修改的文件上传到远程仓库即可。远程仓库也是哪个文件有变化就把文件拉取到本地。

对于修改的文件,我们可以点击git工具的同步:
在这里插入图片描述
选择远端分支和远端URL,点击push推送。

对于远端修改过的文件,我们还是可以在工具中选择同步,然后pull拉取。

我们在推送和拉取的过程中可能会遇到冲突的问题(一定会遇到)。比如服务端已经更新了数据,本地数据不是最新的,我们不是在最新的文件上做的修改。对于这种情况我们首先要pull拉取远端的修改,虽然这个时候也是失败的,但是此时被修改的文件会出现三角感叹的标志,我们可以查看修改内容。这个冲突只能手动来合并代码。手动解决后在乌龟上点击解决冲突选项即可。这个时候再次提交到远程仓库就能够成功了。

分支管理

  在我们每次的提交,Git都会把它们串成一条时间线,这条时间线就是一个分支。在Git里有一个主分支:master分支,创建仓库的时候就存在了。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的。所以HEAD指向的就是当前的分支。

  一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前的分支以及当前分支的提交点。

创建分支

乌龟的工具栏可以创建分支和切换分支
在这里插入图片描述
创建分支后整个Git仓库就会分叉了。我们可以在不同的分支上进行开发。

合并分支

不同的分支是平行的。对一个分支进行修改后,在另一个分支中是互不干扰的。所以我们可以实现不同分支之间平行开发。

当我们开发完成之后,会要把我们的分支合并到master中。我们首先需要把分支切换到master中(最终需要合并到哪个分支就切换到哪个分支),然后点击合并:
在这里插入图片描述
在弹出的对话框中选择我们要用哪个分支来合并,点击确定即可。这时候两个分支就合并到一起了。如果产生了冲突,这个时候还是需要手动操作解决冲突,然后点击解决冲突。合并完成后再次提交到master就合并完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值