Git远程库操作

远程库操作以GitHub为例

初始化远程库

在GitHub中 new repository 处创建远程库.
Repository name : 仓库名
Description : 仓库描述
Public/Private : 公开/私有
README file : 一个markdown文件 , 点开该库自动显示
.gitignore : 用于设置不接受版本管理的文件
license : 许可认证等
点击 Create repository 即可创建远程库.

将远程库地址保存至本地 - git remote

在远程库中可以查看仓库地址 (包括HTTPS的和SSH的) . 可在 Code 处找到 .
git remote add 别名 远程库地址 可将一个远程库地址保存至本地 , 并取一个别名
git remote -v 可查看本地保存的远程库地址及其别名
git remote rm 别名 可删除一个保存的远程库地址


将远程库的资源获取至本地库 - git clone / git pull

使用 git clone 远程库地址 即可将远程库克隆至本地库 .
使用 git pull 远程库地址 分支 即可从远程库拉取资源至本地库 .

clone 克隆

clone用于本地没有仓库时从远程克隆一个仓库 , 是从无到有的过程 .
使用clone操作将完成三件事 :

  1. 初始化本地库
  2. 将远程库完整的克隆到本地库
  3. 创建远程库的别名 (名字默认为origin)

pull 拉取

pull用于本地库和远程库不同步时更新 .
使用pull相当于做了两个操作 :

  1. fetch 抓取远程库内容 , 只更新了本地库 , 暂存区和工作区不做更新 .
  2. merge 合并远程库和本地库 .

将本地库的资源推送至远程库 - git push

git push 远程库地址 分支 可将一个分支推送至远程库

清除push的缓存

在一次push操作之后 , 本地将保留缓存 , 使得下一次push不需要输入账号密码 .
在Windows中可以在凭据管理器中删除缓存 .

当push推送至远程库的合并失败时 , 也可以pull拉取回来解决完冲突再推送

管理团队 – 允许他人push

默认状态下 , 只有仓库的创建者才可以执行push操作 . 当多人协作开发时 , 需要让开发人员都加入团队 .

邀请他人加入团队

邀请者在仓库的 Settings -> Manage access -> Invite a collaborator 中邀请他人并复制邀请链接 .
被邀请者进入链接同意邀请即可 .


远程库的复制与请求合并

复制远程库

使用 fork 操作可以复制远程库 .
进入要复制的远程库地址 , 点击 fork 即可将该远程库复制到自己的账号中 .

发送pull请求

新远程库的拥有者可以申请pull至原远程库 .
进入新远程库的地址 , 点击 Pull request -> New pull request -> Create pull request 即可发送请求 .

原远程库的拥有者可以审核pull request请求 .
进入原远程库的地址 , 点击 Pull request -> 选择请求并审核 -> Merge pull request同意 .


SSH免密登录

远程库地址有HTTPS类型与SSH类型 , 实际开发中SSH地址更常用 .

步骤总括

  1. 在本地的用户目录下 ( cd ~ ) , 使用命令 ssh-keygen -t rsa -C github的邮箱 创建公钥-私钥对 .
  2. 进入用户目录/.ssh/id_rad.pub , 复制里面的内容 .
  3. 登录GitHub -> 个人settings -> SSH and GPG keys -> New SSH key 将复制的内容粘贴并添加即可 .

配置完毕后 , 使用SSH远程库地址代替HTTPS远程库地址即可在当天电脑免密登录 .

SSH方式的优缺点

优点 : 不需要每次都进行身份验证
缺点 : 只能同时针对一个账号和一个电脑