【Git】GitHub
GitHub
本地库与远程库开发模式
开发模式一:团队内部协作

项目经理岳不群,程序员令狐冲
- 岳不群把他的本地库推送到远程库
- 令狐冲克隆远程库到自己的本地库
- 令狐冲在自己本地库的基础上修改代码,提交到本地库,再推送回远程库
- 由于这个远程库是岳不群创建的,推送权限需要加入团队才行
- 岳不群邀请令狐冲加入团队
- 令狐冲推送到远程库后,岳不群需要拉取远程库的修改,拉取到本地
开发模式二:跨团队协作

岳不群给令狐冲分配了一个任务(去研发一下《葵花宝典》),可是令狐冲不会啊,令狐冲就找东方不败来帮忙开发。但是东方不败不是他们公司的人,只能采用跨团队协作。
- 东方不败fork了岳不群的远程库,复制了一份新的远程库,这个新的远程库与原来的远程库内容完全一样,区别只是在于原来的远程库是属于岳不群的,现在这个远程库是属于东方不败的。
- 既然现在的新的远程库属于东方不败东方不败就可以克隆、修改、推送了
- 然而这个修改的只是东方不败的远程库,岳不群的远程库没有修改
- 所以东方不败需要去发起一个pull request(也就是一个拉取的请求)
- 岳不群需要对东方不败发起的拉取请求来做一个审核,审核通过后就能在线做一个合并的操作,合并到岳不群自己的远程库里面
- 岳不群和令狐冲就能从这个远程库里面拉取内容到本地库了
像开源项目这种,开发成员分布在世界各地的,就需要这种工作方式。
1. 账号信息
GitHub 首页就是注册页面:https://github.com/
| 姓名 | Email地址 | GitHub账号 |
|---|---|---|
| 岳不群 | atguigu2018ybuq@aliyun.com | atguigu2018ybuq |
| 令狐冲 | atguigu2018lhuc@aliyun.com | atguigu2018lhuc |
| 东方不败 | atguigu2018east@aliyun.com | atguigu2018east |
2. 创建远程库


一般不勾选readme,避免与本地冲突
3. 创建远程库地址别名
git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址]

4. 推送
git push [别名] [分支名]

推送需要输入账号和密码:

5. 克隆
git clone [远程地址]

效果
- 完整的把远程库下载到本地
- 创建 origin 远程地址别名
- 初始化本地库
6. 团队成员邀请


“岳不群”其他方式把邀请链接发送给“令狐冲”,“令狐冲”登录自己的 GitHub 账号,访问邀请链接。

7. 拉取
- pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]git merge [远程库地址别名/远程分支名]git pull [远程库地址别名] [远程分支名]
8. 解决冲突
要点
- 如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
- 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。
类比
- 债权人:老王
- 债务人:小刘
- 老王说:10 天后归还。小刘接受,双方达成一致。
- 老王媳妇说:5 天后归还。小刘不能接受。老王媳妇需要找老王确认后再执行。
9. 跨团队协作
Fork



本地修改,然后推送到远程
Pull Request




对话


审核代码

合并代码



将远程库修改拉取到本地
10. SSH 登录
# 进入当前用户的家目录
$ cd ~
# 删除.ssh 目录
$ rm -rvf .ssh
# 运行命令生成.ssh 密钥目录 [注意:这里-C 这个参数是大写的 C]
$ ssh-keygen -t rsa -C atguigu2018ybuq@aliyun.com
# 进入.ssh 目录查看文件列表
$ cd .ssh
$ ls -lF
# 查看 id_rsa.pub 文件内容
$ cat id_rsa.pub
# 复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys
# New SSH Key
# 输入复制的密钥信息
# 回到 Git bash 创建远程地址别名
git remote add origin_ssh git@github.com:atguigu2018ybuq/huashan.git
# 推送文件进行测试
查看官方框架
有时候我们不知道一些框架的使用方法,我们可以查一查。
一般是在 github 上面搜,看wiki,就可以知道官方的使用方法了。
【Git】GitHub的更多相关文章
- 【Git】GitHub for Windows使用(3) GitHub Flow的使用
第三章了,关于GitHub上有一个Pull Request,是展示本项目或资源所有的Pull 请求的. 而这个开发流程是基于GitHub Flow的开发模式. 网上关于GitHub Flow简单的介绍 ...
- 【Git】GitHub for Windows使用(1)
目录 1.下载GitHub for windows 客户端 2.注册GitHub 3.启动windows端客户端,登录帐号 4.了解Git客户端,从而了解Git的大体功能 5.创建一个新的资源库 6 ...
- 【GIT】Github上传本地代码详解
本教程结合Github服务端和客户端完成本地代码上传至Github,下面进行详细讲解: 1.创建Github账号,这一个步骤应该不用太多解释,直接上官网进行注册登录即可https://github.c ...
- 【Git】GitHub之多人开发一个项目
首先我们要简单知道github跟Git的区别.git是版本控制工具, github是一个面向开源及私有软件项目的托管平台,也是程序员交流的地方. 接下来就开始讲怎么多人一起开发. 首先我们先拥有git ...
- 【Git】GitHub for Windows使用(2) 分支
目录 1.回看客户端相关功能 2.新建一个分支 3.在新分支上修改文件 4.上传新建分支上的修改,并合并分支 5.删除分支 1.回看客户端相关功能 看看设置中的以下内容 2.新建一个分支 3.在新分支 ...
- 【Git】GitHub的SSH提交配置[
Git可以通过https方式和ssh方式连接服务器上的仓库. 两者比较: 1.https: 比较方便,但是每次fetch和push代码都需要输入账号和密码,略显麻烦 2.ssh: 传输前压缩数据,传输 ...
- 【git】Github上面的开源代码怎么在本地编译运行
最近才发现Github是一个好东西,可以从上面学到很多东西,不说了,赶快写完去学习去... 1.首先你可以看看这个开源项目的README.md,一般一般这里都会有项目的使用方式以及一些注意的点 2.你 ...
- 【git】删除某个文件的所有历史记录,批量删除远程分支
删除git某个文件的所有历史记录 git的目的就是版本控制,记录每一个版本的变动.然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中.例如不小心上传了一堆错误的文件,或者不小心上 ...
- 【Git】远程分支
[Git]远程分支 转载:https://www.cnblogs.com/yangchongxing/p/10239270.html 目录 ============================ 1 ...
- 【Git】 GitLab简单使用
本例介绍简单实用GitLab,安装请参照[Git] GitLab服务器社区版安装与配置 1.用户和组的管理 a.创建组,在首页点击Create a group b.创建用户,在首页点击Add peop ...
随机推荐
- [LC623]在二叉树中增加一行
题目描述 给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行. 注意,根节点 root 位于深度 1 . 加法规则如下: 给 ...
- CDS标准视图:付款锁定原因 I_PaymentBlockingReason
视图名称:付款锁定原因 I_PaymentBlockingReason 视图类型:基础视图 视图代码: 点击查看代码 //Documentation about annotations can be ...
- Pulsar客户端如何控制内存使用
摘要 本文围绕一个常见的使用场景深入分析在高吞吐场景下,使用Pulsar客户端收发消息可能会遇到的若干问题.并以此为切入点,梳理一下Pulsar客户端在内存控制上所做的优化改进. 使用场景 假设这样一 ...
- dart 中在实例化 new 关键字可以省略不写
dart 中在实例化 new 关键字可以省略不写 class Person { String name; int age; String sex; Person(this.name, this.age ...
- dart方法之间的调用和可选参数的使用
01==> 方法封装 void main() { //直接调用 say('好好读书,天天向上'); } say(say) { print(say); } 02==>方法之间的调用 void ...
- S3基准测试工具 - Warp使用简介
本文分享自天翼云开发者社区<S3基准测试工具 - Warp使用简介>,作者:y****n 1.Warp⼯具简介 warp 是⼀款开源的S3基准测试⼯具,开源S3项⽬minio下的⼀个⼦项⽬ ...
- 数字先锋 | SaaS服务“拎包入住”?央企数字化转型体验感拉满!
数字化转型已成为企业生存和发展的"必修课".作为国民经济的"压舱石""顶梁柱",国资央企正加快"上云用数赋智"步伐,引领 ...
- 云电脑:DPU简介及分析
本文分享自天翼云开发者社区<云电脑:DPU简介及分析>,作者:大利 随着云计算技术的快速发展,云电脑作为一种基于云计算技术的虚拟化电脑,正在逐渐受到广泛关注.然而,云电脑在实现过程中面临着 ...
- 无界 | Bncr | Boundless Nodejs Chat Robot 机器人框架安装使用教程
背景:Bncr 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架.它基于OOP函数响应式编程,具有占用小.响应快.开发易等特点,允许开发者创建高度可测试.可扩展.松散耦合且易于维 ...
- Typecho 引入JS简单的实现点击文字即可复制
在文章中插入大量无意义内容一不美观,二不便复制,不如使用 js 创建隐藏内容的复制按钮吧. 引入 JS 本主题:依次进入 控制台 - 外观 - 设置外观 - 主题自定义扩展,将以下代码加入到 自定义 ...