云计算百科
云计算领域专业知识百科平台

Git & GitHub & Gitee & GitLab 技术(2)--之GitHub

二、Github操作

    • 1. 创建远程仓库
    • 2. 本地库链接远程库
    • 3. push
    • 4. pull
    • 5. clone
    • 6. 团队协作
    • 7. 跨团队协作
    • 8. SSH 免密

本文主要是 Git + Github 核心操作,全部围绕「代码版本管理 + 多人协作开发」,是程序员写项目、做工程、进公司开发的必备基础 (默认已有且已登入账号)

1. 创建远程仓库

项目起点,存放代码、文档、版本记录。 先来讲解如何创建仓库: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 创建完就可以看到仓库的链接(HTTPS/SSH)

之后来讲github上如何删除废弃库: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

2. 本地库链接远程库

本地 ↔ 云端同步通道,让本地代码能上传/下载。 打开项目代码文件夹–>git bash

`git remote -v`

没有输出,就代表: 当前本地仓库还没有关联任何远程仓库(GitHub/Gitee) 所以没有别名可以显示。 在这里插入图片描述

下一步要做的 把你在 GitHub 新建仓库的链接,粘到下面命令里:

git remote add (你取的远程库库名,eg:Git-Test) 你的GitHub仓库地址(HTTPS)

执行完再查一次

git remote -v

出现下面内容就成功了:

origin https://github.com/...git (fetch)
origin https://github.com/...git (push)

在这里插入图片描述 提醒: 1.这一步旨在简化远程库操作,避免后续push/pull时因链接过长导致不便; 2.在git Bash 中黏贴shift+Ins

3. push

上传代码,本地改完 → 推到 GitHub。 命令:

git push 远程库别名(eg:Git-Test)分支(eg: master,最小单位分支)

第一次执行时会要你授权连接GitHub,授权后即可成功推送 在这里插入图片描述

在这里插入图片描述由于 GitHub 服务器位于海外,HTTPS 连接时常出现不稳定的情况,可以多试几次(如果实在不行就用后面的SSH免密登录)上传成功后的结果显示如下(100%) 在这里插入图片描述 到远程库查看 在这里插入图片描述

4. pull

下载更新,别人改了 → 拉到本地。 ​接下来测试在GitHub上改代码后拉取到本地 命令:

git pull 远程库别名(eg:Git-Test)分支(eg: master,最小单位分支)

在这里插入图片描述 在这里插入图片描述

5. clone

完整拷贝项目,第一次拿别人/团队项目用。 就以我现在本地库的GitProject项目文件为例: 我先把它push上一个新的库Test上,然后删掉本地库的GitProject项目来模拟clone别人项目 在这里插入图片描述 在这里插入图片描述 接下来去远程库克隆项目到本地 先去要克隆的仓库下找链接 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 命令:

git clone 仓库链接

在这里插入图片描述 可以看到远程库(别人的项目)已经clone到我们本地库里了 在这里插入图片描述 在这里插入图片描述 当然也可用其他方式来验证clone是否成功: 在这里插入图片描述

clone不需要验证权限,且默认帮干3件事: 1.拉取代码(pull) 2.初始化本地库(git init) 3.创建别名(步骤2)(默认为orign) 在这里插入图片描述

6. 团队协作

同项目多人开发,分支、合并、代码审核。 那就以我的两个GitHub为例:obviously20 和Ninjago-1314为例 进入待开发项目设置,在邀请界面添加新成员共同协作: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述请使用Ninjago账号登录后,按照以下步骤操作: 在邮箱中找到公司发送的邀请邮件 点击邮件中的同意邀请链接 或手动复制链接到浏览器地址栏访问 在打开的页面中确认接受邀请在这里插入图片描述 在这里插入图片描述 成功后在被邀请的账号代码库中下会多出一个库 在这里插入图片描述 邀请人那里也可以看到邀请状态(“1个合作者”) 在这里插入图片描述 接下来就可像该栏目之前的Git那章中的流程图一样协作开发了 pull->add->commit->pull->push 在远程库也可以查看每个人commit 在这里插入图片描述 测试过程中发现的问题: 在切换两个账号进行模拟操作时(先用账号1编写代码并提交,删除本地凭据管理后切换到账号2编写代码并上传),远程仓库的提交记录仍显示为账号1的信息。即使多次删除凭据管理中的凭证,提交记录依然与账号1关联。

这一现象并非由浏览器当前登录的GitHub账号授权界面决定,而是取决于本地Git配置中的用户签名设置。

GitHub 只认提交时的Git用户名,不认浏览器登录账号 改:

git config –global user.name "obviously20"
git config –global user.email "你的GitHub邮箱"

验证是否改对:

git config–global user.name
git config –global user.email

显示你的名字和邮箱就对了 改完后再 add/commit/push ,提交者就变成obviously20 了。

7. 跨团队协作

开源/外部合作,Fork + PR(给别人项目贡献代码)。 ​具体流程:search->Fork->修改后add,commit->push(此时只修改了自己远程库中fork过来的库中的代码,但原项目中代码并未改变)->pull request(经过仓库归属人的交流/审查)->通过后就Merge pull request ->确认confirm merge(修改才允许合并到原项目中)->之后原仓库团队再pull优化后的版本 在这里插入图片描述 找到对应项目fork 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 去clone->改代码push,接下来就是把改过的项目合并到原远程库中 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

如果对 团队内合作/跨团队合作 的过程还有疑惑,具体可看: B站-尚硅谷的解释视频:【Git全套教程,git技术大全(GitHub、Gitee码云、GitLab)】P24&P25

8. SSH 免密

安全便捷认证,不用每次输账号密码。 要使用SSH前会有警告 在这里插入图片描述 那么就需要去搞SSH Keys: 1.去家目录下:C:\\Users\\用户名 右击进入Git Bash 生成.ssh文件 命令:

ssh-keygen -t rsa -C (Github的邮箱)

ssh-keygen:生成免密登录协议 -t :指定那种加密算法 rsa :非对称加密协议 -C :描述…

运行后输入3次回车得到 在这里插入图片描述 将生成的公钥f复制到GitHub中配置SSH keys 在这里插入图片描述 在这里插入图片描述 得到SSH KEYS后就不再报警告了 之后即可进行push/pull操作了 命令:

git pull SSH链接 分支
git push SSH链接 分支

在这里插入图片描述

赞(0)
未经允许不得转载:网硕互联帮助中心 » Git & GitHub & Gitee & GitLab 技术(2)--之GitHub
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!