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操作将完成三件事 :
- 初始化本地库
- 将远程库完整的克隆到本地库
- 创建远程库的别名 (名字默认为origin)
pull 拉取
pull用于本地库和远程库不同步时更新 .
使用pull相当于做了两个操作 :
fetch
抓取远程库内容 , 只更新了本地库 , 暂存区和工作区不做更新 .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地址更常用 .
步骤总括
- 在本地的用户目录下 (
cd ~
) , 使用命令ssh-keygen -t rsa -C github的邮箱
创建公钥-私钥对 . - 进入用户目录/.ssh/id_rad.pub , 复制里面的内容 .
- 登录GitHub -> 个人
settings
->SSH and GPG keys
->New SSH key
将复制的内容粘贴并添加即可 .
配置完毕后 , 使用SSH远程库地址代替HTTPS远程库地址即可在当天电脑免密登录 .
SSH方式的优缺点
优点 : 不需要每次都进行身份验证
缺点 : 只能同时针对一个账号和一个电脑