二、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链接 分支

网硕互联帮助中心



评论前必须登录!
注册