Git&GitHub学习笔记之(三)Git向GitHub提交代码

本文详细介绍了如何使用Git与远程仓库进行协作,包括创建SSH Key、配置GitHub账号、关联本地与远程仓库及代码推送等步骤。

今天介绍一下Git如何跟远程库一起协作

远程仓库

远程仓库是指保存在远程计算机的仓库,这个仓库和本地仓库保持同步,那么这样子就相当于本地仓库漫游了,去到哪里都可以访问,还可以和世界上的其他小伙伴分享。远程仓库提供商有很多,最著名的莫过于github了,它是目前全球最大的代码托管平台。

注册GitHub账号(Git&GitHub学习笔记之一GitHub简单操作已经介绍了),由于本地Git仓库和GitHub仓库之间的传输时通过SSH加密的,所以,需要设置一下:
那么什么是 SSH 呢?
简单点说,SSH是一种网络协议,用于计算机之间的加密登录。

  1. 创建SSH Key。
    在用户主目录下(C:\Users\Administrator\) 看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有,可以继续了,如果没有,打开Git Bash,创建SSH Key:; 打开Git Bash,输入ssh-keygen –t rsa一路回车下去,
    (不需要输入密码),在C:\Users\Administrator.ssh下,就会生成两个文件 id_rsa 和 id_rsa.pub ,这两个是SSH Key的密钥对, id_rsa 是密钥,id_rsa.pub 就是公钥。都是隐藏文件,自行查看的。

接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。
2. .GitHub添加SSH Key
在GitHub的设置页面,点击最左侧的SSH and GPG keys:如下图
这里写图片描述
然后,点击右上角的New SSH key按钮:
这里写图片描述
把id_rsa.pub公钥文件里面的内容复制粘贴进去就可以了。Title可写可不写,店家Add SSH key按钮就ok了。
添加成功后,输入ssh –T git@github.com进行测试,如果出现以下提示证明添加成功了。
这里写图片描述
这里出现了一个SSH警告,这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的key时,需要确认GitHub的key指纹是否真的来自GitHub服务器,输入yes 回车就行。这是Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里。
这次警告只会出现一次,后面的操作就不会有任何警告了。

3.添加远程仓库
现在我们让本地的Git仓库与GitHub创建的Git仓库进行远程同步,这样GitHub上的仓库可以作为备份,又可以让其他人通过该仓库来协作

(1) 演示本地仓库是如何与远程仓库进行关联的
首先登陆GitHub,然后在右上角找到Create a new repo 按钮,创建一个新仓库(我在我的第一篇中已经讲过了,不会的自行查看。)
这里写图片描述

目前这个learngit仓库是空的,我们可以从这个仓库中克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库推送到GitHub仓库中。
第一步:在本地的learngit仓库下运行命令

$ git remote add origin git@github.com:diligentkong/learngit.git

注意:把上面的diligentkong换成你的github账户名。否则关联的就是我的,造成你推送的时候推送不上去。
远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
第二步:把本地仓库的所有内容推送到远程库上:

git push –u origin master

这里写图片描述

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
这里写图片描述

从现在起,只要做本地提交,就可以通过命令git push origin master,把本地master分支的最新修改推送至github上。
(2).向我们在github上创建的项目提交代码
以我们第一篇创建的test为例
Clone自己的项目,命令:git clone git@github.com:diligentkong/test.git
这样就把test项目clone到本地,这时候项目本身就是一个git仓库了,不需要执行git init操作了初始化,只需要在test目录下任意修改或者添加文件,然后进行commit就好了。
git push origin master 进行代码提交

了解Push 与Pull这两个命令

 git push origin master

意思:把本地代码推到远程 master 分支。
如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步。

 git pull origin master

意思是把远程最新的代码更新到本地。一般我们在 push 之前都会先 pull ,这样不容易冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值