Git与GitHub 第6章 GitHub

1. 简介

GitHub是一个Git项目托管网站,主要提供基于Git的版本托管服务。

网址: https://github.com/

2. 注册

3. 简单操作

 

3.1 本地库联通GitHub

①查看本地是否配置了密钥

只需要在第一次配置就可以了,如果存在就不需要额外生成密钥

②生成密钥

命令:ssh-keygen -t rsa -C [用户名]

查看用户名:

生成密钥:

生成的密钥分为私钥和公钥,会保存在用户家目录的.ssh文件夹中。

其中,id_rsa是私钥,id_rsa.pub是公钥。

 

将公钥告诉github账户,相当于约定一个接头暗号!

进入github的账户,

测试本地仓库和github的联通性:ssh -T git@github.com

.ssh文件夹中会多一个文件known_hosts,其中记录了连接的github的ip账号。

3.2 push

本地库推送到GitHub

①准备本地库

②在GitHub上创建一个仓库

③增加远程地址

git remote add  <远端代号>   <远端地址>

  <远端代号> 是指远程链接的代号,一般直接用origin作代号,也可以自定义;

<远端地址> 默认远程链接的url;

④本地库推送到远程库

git  push  -u  <远端代号>    <本地分支名称>

  <远端代号> 是指远程链接的代号;

 <分支名称>  是指要提交的分支名字,比如master;

我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

⑤查看远程分支

git remote –v

⑥如果此时本地库做了修改,那么查看:

发现当前的本地库比远程库新增了一些内容。

3.3 fetch

fetch命令可以从远程库获取更新,但是并不合并!

远程库已经更新,此时查看本地库的状态:

执行git fetch 命令,查看远程库的更新;

再查看git status

3.4 pull

本地库抓取远程库

如果远程库的版本新于当前库,那么此时为了使当前库和远程库保持一致,可以执行pull命令

git pull <远端代号>  <远端分支名>;

 

例 git pull origin  master

查看有哪些本地库:

3.5 clone

实际的情况可能是刚开始做项目的时候,需要从远程库将项目先整到本机。

执行命令:git  clone   <远端地址>   <新项目目录名>

 <远端地址> 是指远程链接的地址;

<项目目录名>  是指为克隆的项目在本地新建的目录名称,可以不填,默认是GitHub的项目名;

命令执行完后,会自动为这个远端地址建一个名为origin的代号。

例 git  clone  https://github.com/user111/Helloworld.git   hello_world

3.6 解决冲突

此时,远程库比本地库的版本要新,因此,本地库执行拉取操作!git pull! 

冲突原因:本地库的版本和远程库的版本都做了更新!

在推送之前,执行git fetch,发现远程库和本地库有版本变化。

查看git status,

此时,建议先pull,将远程库的版本和本地库的版本merge后再push!

如果强行push,报错!

解决办法:先pull,pull的时候会发现报错冲突

因此开始解决冲突,编辑冲突文件!

编辑完成:

之后再推:

总结:pull----merge-----push

3.7 邀请成员

①在相关的项目设置中,选择collaborators,搜索要邀请的成员:

②点击add collaborator添加成员

③复制邀请连接,手动告知被邀请者:

④被邀请者,登录自己的账号后,点击连接,接收邀请

3.7 fork

如果其他人,搜索到了你的项目,想对其做一些编辑时,必须先执行fork操作。

①搜索感兴趣的项目

②fork到自己的远程库,fork到自己的github后,自己可以进行编辑!

③将自己做的pull request给原作者,以等待原作者采纳!

④原作者查看后,执行合并操作

⑤确认没有冲突后,执行合并操作!

3.8 总结