开源和闭源
开源:开放源代码,代码是公开的任何人都可以查看和修改.
闭源:只提供程序,不提供源代码
开源协议
开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议
常见的开源协议
1.BSD
2.Apache Licence 2.0
3.GPL (GNU General Public License) (⭐⭐⭐)
具有传染性的一种开源协议,不允许修改后和衍生的代码作为闭源的商业软件发布和销售
使用 GPL 的最著名的软件项目是:Linux
4.LGPL (GNU Lesser General Public License)
5.MIT (Massachusetts Institute of Technology, MIT) (⭐⭐⭐)
是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息
使用 MIT 的软件项目有: jquery 、 Node.js
开源项目托管平台
1.Github
2.Gitlab(代码私有性较好,企业用的较多)
3.Gitee
使用:
forked:复制到自己的项目
远程仓库的两种访问方式
1.HTTPS
2.SSH
SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。SSH key 的好处:免登录身份认证、数据加密传输。SSH key 由两部分组成,分别是:① id_rsa (私钥文件,存放于客户端的电脑中即可)② id_rsa.pub (公钥文件,需要配置到 Github 中)
将远程仓库克隆到本地
git clone "克隆地址"
分支
在初始化本地 Git 仓库的时候, Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支
主分支(master):用来保存和记录整个项目已完成的功能代码。
功能分支:专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试
查看分支:
git branch
创建分支
git branch 分支名
转换分支
git checkout 分支名
快速创建并切换:
git checkout -b 分支名
合并分支
1.切换到要合并的分支
2.git merge 要合并的分支名
删除分支
git branch -d 分支名
强制删除本地分支
git branch -D 分支名
远程分支操作
将本地分支推行到远程仓库
1.建立联系
2.推分支
git push -u origin(远程仓库别名) 本地分支名称:别名
查看远程仓库中所有的列表分支
git remote show 远程仓库名
拉取远程分支
git fetch origin reg(远程):reg(本地)
拉取远程分支最新的代码
1.切换到目标分支
2.git pull
删除远程分支
git push origin --delete index22
解决冲突
1.什么时候会发生冲突
合并代码的时候同一个分支的同一个文件代码不同