GitHub
本地库与远程库开发模式
开发模式一:团队内部协作
- 岳不群把他的本地库推送到远程库
- 令狐冲克隆远程库到自己的本地库
- 令狐冲在自己本地库的基础上修改代码,提交到本地库,再推送回远程库
- 由于这个远程库是岳不群创建的,推送权限需要加入团队才行
- 岳不群邀请令狐冲加入团队
- 令狐冲推送到远程库后,岳不群需要拉取远程库的修改,拉取到本地
开发模式二:跨团队协作
- 东方不败fork了岳不群的远程库,复制了一份新的远程库,这个新的远程库与原来的远程库内容完全一样,区别只是在于原来的远程库是属于岳不群的,现在这个远程库是属于东方不败的。
- 既然现在的新的远程库属于东方不败东方不败就可以克隆、修改、推送了
- 然而这个修改的只是东方不败的远程库,岳不群的远程库没有修改
- 所以东方不败需要去发起一个pull request(也就是一个拉取的请求)
- 岳不群需要对东方不败发起的拉取请求来做一个审核,审核通过后就能在线做一个合并的操作,合并到岳不群自己的远程库里面
- 岳不群和令狐冲就能从这个远程库里面拉取内容到本地库了
像开源项目这种,开发成员分布在世界各地的,就需要这种工作方式。
1. 账号信息
GitHub 首页就是注册页面:https://github.com/
姓名 | Email地址 | GitHub账号 |
---|---|---|
岳不群 | atguigu2018ybuq@aliyun.com | atguigu2018ybuq |
令狐冲 | atguigu2018lhuc@aliyun.com | atguigu2018lhuc |
东方不败 | atguigu2018east@aliyun.com | atguigu2018east |
2. 创建远程库
3. 创建远程库地址别名
git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址]
4. 推送
git push [别名] [分支名]
推送需要输入账号和密码:
5. 克隆
git clone [远程地址]
- 完整的把远程库下载到本地
- 创建 origin 远程地址别名
- 初始化本地库
6. 团队成员邀请
7. 拉取
- pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]
8. 解决冲突
要点
类比
- 债权人:老王
- 债务人:小刘
- 老王说:10 天后归还。小刘接受,双方达成一致。
- 老王媳妇说:5 天后归还。小刘不能接受。老王媳妇需要找老王确认后再执行。
9. 跨团队协作
Fork
本地修改,然后推送到远程
Pull Request
对话
审核代码
合并代码
将远程库修改拉取到本地
10. SSH 登录
- 进入当前用户的家目录
$ cd ~ - 删除.ssh 目录
$ rm -rvf .ssh - 运行命令生成.ssh 密钥目录
$ ssh-keygen -t rsa -C atguigu2018ybuq@aliyun.com
[注意:这里-C 这个参数是大写的 C] - 进入.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,就可以知道官方的使用方法了。