Git学习之在Ubuntu/Windows下使用Github

参考 《从0开始学习Github系列》

1. SSH

SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台Linux电脑的标准配置。大多数Git服务器都会选择使用SSH公钥来进行授权,所以想在Github提交代码的第一步就是要先添加SSH key配置。

2. 生成SSH key

在终端输入(win下在Git Bash里)输入ssh,出现以下提示证明已经安装SSH,否则需下载安装。
在这里插入图片描述
在这里插入图片描述
紧接着输入ssh-keygen -t rsa,用来制定rsa算法生成密钥,接着连续三个回车,然后会生成两个文件id_rsaid_rsa.pubid_rsa是密钥,id_rsa.pub是公钥。它们分别在如下目录里产生:

Linux系统在~/.ssh下,Windows在/c/Documents and Settings/username/.ssh下

接下来就是要把id_rsa.pub的内容添加到GitHub上,这样本地的id_rsa密钥跟GitHub上的id_rsa.pub公钥进行配对,授权成功才可以提交代码。

3. GitHub上添加SSH key

第一步先在GitHub上的设置页面,点击SSH and GPG keys:
在这里插入图片描述
然后点击右上角的New SSH key
在这里插入图片描述
需要做的就是在Key那栏把 id_rsa.pub 公钥文件里的内容复制粘贴进去就可以了(上述示例为了安全粘贴的公钥是无效的),**Title **那栏不需要填写,点击 Add SSH key 按钮就ok了。
SSH key 添加成功之后,输入ssh -T git@github.com进行测试,如果出现以下提示证明添加成功了。
在这里插入图片描述
在这里插入图片描述

4. Push & Pull

在提交代码之前我们先要了解两个命令,也是上次的文章没有介绍的,因为这两个命令需要跟远程仓库配合。
Push :直译过来就是「推」的意思,什么意思呢?如果你本地代码有更新了,那么就需要把本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。
代码示例:

git push origin master

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

git pull origin master

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

5. 提交代码

添加 SSH key 成功之后,我们就有权限向 GitHub 上我们自己的项目提交代码了,而提交代码有两种方法:
Clone自己的项目 ,我们以我在 GitHub 上创建的 test 项目为例,执行如下命令:

git clone git@github.com:tinklelee/test.git

这样就把 test 项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库,我们只需要在这个 test 目录下任意修改或者添加文件,然后进行 commit ,之后就可以执行:

git push origin master

进行代码提交,这种是最简单方便的一种方式。

关联本地已有项目
如果我们本地已经有一个完整的 git 仓库,并且已经进行了很多次 commit ,这个时候第一种方法就不适合了。
假设我们本地有个 test2 的项目,我们需要的是在 GitHub 上建一个 test 的项目,然后把本地test2 上的所有代码 commit 记录提交到 GitHub 上的 test 项目。
第一步就是在 GitHub 上建一个 test 项目,这个想必大家都会了,就不用多讲了。
第二步把本地 test2 项目与 GitHub 上的 test 项目进行关联,切换到 test2 目录,执行如下命令:

git remote add origin git@github.com:tinklelee/test.git

什么意思呢?就是添加一个远程仓库,他的地址是 git@github.com:tinklelee/test.git ,而 origin 是给这个项目的远程仓库起的名字,是的,名字你可以随便取,只不过大家公认的只有一个远程仓库时名字就是 origin ,为什么要给远程仓库取名字?因为我们可能一个项目有多个远程仓库?比如 GitHub 一个,比如公司一个,这样的话提交到不同的远程仓库就需要指定不同的仓库名字了。
查看我们当前项目有哪些远程仓库可以执行如下命令:

git remote -v

这个时候你需要把远程仓库的最新代码拉下来,这一步很关键,

git pull origin master

接下来,我们本地的仓库就可以向远程仓库进行代码提交了:

git push origin master

就是默认向 GitHub 上的 test 目录提交了代码,而这个代码是在 master 分支。当然你可以提交到指定的分支,这个之后的文章再详细讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值