Git --- GitHub操作
一、创建远程仓库
命名:建议和本地仓库名字相同
二、远程仓库操作
命令 |
作用 |
|
起别名 |
|
查看当前所有远程别名 |
|
将远程仓库的内容克隆到本地 |
|
将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |
|
推送本地分支上的内容到远程仓库 |
2.1、创建远程仓库别名
基本语法:
git remote -v
git remote add 别名 远程地址
案例:
2.2、推送本地分支到远程仓库
基本语法:
git push 别名 分支
案例:
由于 GitHub 外网的特殊原因,会有网络延迟,等待时间可能较长,属于正常现象。可能要多尝试几次
git push git-demo master
如果本地还没有过 SSH 免密登录操作(下面内容会详细介绍),则在执行命令后会弹出一个Connect to GitHub
的提示框,登入即可
成功推送本地分支至远程库
凭据管理器
在上述操作过程中,点击
Authorize GitCredentialManager
进行授权登录后,在 GitHub 设置页面的Application
选项—Authorized OAuth Apps
中可以查看到Git Credential Manager
的授权信息
在上述过程前,本地凭据管理器中还没有任何身份凭证信息(没有 Git 和 GitHub 相关的凭据信息)
执行过上述命令等操作后,本地凭据管理器中会出现 Git 相关凭据信息
2.3、拉取远程仓库到本地
基本语法:
git pull 别名 分支
案例:
2.4、克隆远程仓库到本地
基本语法:
git clone 远程库地址
案例:
首先获取需要克隆的远程库地址
如果克隆的路径下有同名的文件夹,会报错误信息,删除或修改同名文件夹后重新克隆
小结:clone
会做如下操作
- 拉取代码
- 初始化本地仓库
- 创建别名(默认
origin
)
三、团队内协作
如果项目之外成员想要将自己编写的代码推送至远程库,则会提示unable to access...403
要想获取推送的权限,则需要该项目管理员对该成员进行邀请,将其添加至该项目中
邀请合作者,输入用户名,复制地址并发送给合作者
合作者访问该链接,点击接受邀请,可以在其账号上看到该远程仓库
接下来,就可以通过git
命令对远程库进行克隆、拉取、提交、推送等操作了
四、跨团队协作
合作者视角
点击
Fork
,将其他项目“叉”到自己账号上
自己账号上就有了该项目,可以清楚地看到该项目
forked from xxx
,即可对代码进行修改
修改代码后,点击
Pull requests
—New pull request
,发起拉取请求
查看修改内容,点击
Create pull request
,创建拉取请求
填写请求信息及评论内容,点击
Create pull request
创建完成
项目管理员视角
可以在该项目中查看到
Pull requests
有一条新的记录,可以点击下方提交信息进行查看
想要看到合作者修改的具体内容,可以点击提交记录进行查看
同时,可以对拉取请求进行审查和评论
最后,审查通过就可以对拉取请求进行合并了,点击
Merge pull request
进行合并
点击
Confirm merge
,确认合并
合并成功之后,项目成员就可以看到修改的相关内容了
五、SSH免密登录
基本语法:
# -t指定加密算法,-C添加注释
ssh-keygen -t rsa -C 描述
案例:
本地生成 SSH 密钥
键入命令,连敲三次回车即可
进入
~/.ssh
目录,复制公钥信息
GitHub 上添加公钥
未添加任何公钥之前,
Code
—SSH
会有警告提示信息,表示目前 SSH 方式是没有权限的
在 GitHub 的
settings
—SSH and GPG keys
中,点击New SSH key
添加一个公钥
将
id_rsa.pub
即公钥信息粘贴至Key
中,Title
随意,点击Add SSH key
进行添加
出现下列信息,说明添加成功
验证 SSH免密登录 是否可用
进入
git-demo
项目,点开Code
—SSH
,发现已经没有警告提示信息了,表示可用
复制 SSH 协议地址,使用
clone
命令克隆到本地,键入yes
即可
接下来就是修改内容、添加暂存区、提交本地库、推送远程库的操作了
这时候我们发现已经不再弹出登录授权的提示信息,就可以推送过去了
查看远程库历史版本信息,确认推送成功