Github
@
一、开源
1. 什么是开源#
2. 开源许可协议#
开源并不意味着完全没有限制,为了 限制使用者的使用范围 和 保护作者的权利 ,每个开源项目都应该遵守 开源许可协议( Open Source License )。
常见的 5 种开源许可协议
各种开源协议介绍 | 菜鸟教程 (runoob.com)
-
BSD(Berkeley Software Distribution)
-
Apache Licence 2.0
-
GPL(GNU General Public License)
具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
使用 GPL 的最著名的软件项目是:Linux -
LGPL(GNU Lesser General Public License)
-
MIT(Massachusetts Institute of Technology, MIT)
是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息
使用 MIT 的软件项目有:jquery、Node.js
二、 开源项目托管平台
专门用于 免费存放开源项目源代码的网站,叫做 开源项目托管平台。
目前世界上比较出名的开源项目托管平台主要有以下 3 个:
- Github(全球最牛的开源项目托管平台,没有之一)
- Gitlab(对代码私有性支持较好,因此企业用户较多)
- Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
注意:以上 3 个开源项目托管平台,只能托管以 Git 管理的项目源代码
三、 Github
1. 新建空白远程仓库#
2. 远程仓库的两种访问方式#
Github 上的远程仓库,有两种访问方式,分别是 HTTPS
和 SSH
。它们的区别是:
- HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
- SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码, 推荐使用 SSH 的方式访问远程仓库。
3. 基于 HTTPS 将本地仓库上传到 Github#
git push#
当本地git仓库第一次推送到github上时需要使用命令 git push -u<远程仓库名称> master
之后本地git仓库文件若有修改,先提交更新本地仓库,在通过命令 git push
可直接推送更新远程仓库
4. 基于 SSH将本地仓库上传到 Github#
① SSH key#
SSH key 的作用#
实现本地仓库和 Github 之间 免登录 的 加密数据传输。
SSH key 的组成#
由两部分组成,分别是:
id_rsa
(私钥文件,存放于客户端的电脑中即可)id_rsa.pub
(公钥文件,需要配置到 Github 中)
生成 SSH key#
-
打开 Git Bash
-
粘贴如下的命令,并将其中的
your_email@example.com
替换为注册 Github 账号时填写的邮箱:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
配置 SSH key#
-
使用记事本打开
id_rsa.pub
文件,复制里面的文本内容 -
在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
-
将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
检测 Github 的 SSH key 是否配置成功#
- 打开打开 Git Bash,输入命令
ssh -T git@github.com
并回车执行 - 上述的命令执行成功后,可能会看到如下的提示消息:
The authenticity of host 'github.com (IP ADDRESS)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])?
- 输入
yes
之后,如果能看到类似于下面的提示消息,证明 SSH key 已经配置成功了:Warning: Permanently added 'github.com,IP ADDRESS' (RSA) to the list of known hosts. Hi username! You've successfully authenticated, but GitHub does not provide shell access.
② 基于 SHH 上传#
有关本地仓库上传的 " personal access token " 认证问题
5. 将远程仓库克隆到本地#
作者:Hong•Guo
出处:https://www.cnblogs.com/ghnb1/p/15851757.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix