目录
1、开源的相关概念
开源:
概念:开源即开放源代码
基本含义:代码是公开的
特点:任何人都可以去查看、修改和使用
闭源:
概念:软件的代码是封闭的,只有作者能看到闭源软件的代码,只有作者能对源代码进行修改
开源许可协议:
开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。
开源协议的种类:
- BSD(Berkeley software distribution)
- Apache License 2.0
- GPL(GNU General License)(重点)
- LGPL(GNU lesser general public license)
- MIT(massachusetts institute of technology,MIT)(重点)
开源托管平台:
- GitHub(全球最牛的开源项目托管平台)
- gittab(对代码私有性支持较好,因此企业用户比较多)
- Gitee(又叫码云,是果茶的开源项目托管平台。访问速度快、纯中文界面,使用友好)
1.1、常用的git命令及作用
操作 | 作用 |
git init | 将当前的目录转化为Git仓库 |
git status git status -s/--short | 检查文件状态 |
git add 文件名 | 可以用它开始跟踪新文件 把已跟踪的、且已修改的文件放到暂存区 把有冲突的文件标记为已解决状态 |
git commit -m "提交消息(描述本次提交信息)" | 提交更新 提交已暂存的文件 |
git checkout --修改的文件名 | 撤销对文件的修改 |
get add . | 向暂存区中一次性添加多个文件 |
git reset HEAD 要移除的文件名称 git reset HEAD . (取消所有的) | 取消暂存文件 |
get commit -a -m "描述消息" | 跳过暂存直接提交 |
git rm -f 文件名(git仓库和工作区同时移除对应文件) git rm --cached 文件名(git仓库中移除指定的文件) | 移除文件 |
git log / git log -2 | 查看提交历史/查看最近两条提交历史 |
git reset --hard<CommitID> | 根据提交的ID回到指定版本 |
2、GitHub
2.1、远程仓库的两种访问方式
HTTPS:零配置,但是每次访问仓库时,需要重复输入GitHub的账号和密码才能访问成功
SSH:需要进行额外配置,但是配置成功之后,每次访问仓库时,不需要重复输入GitHub的账号和密码
2.2、HTTPS将本地仓库上传到GitHub
操作步骤:
- 本地没有现成的Git仓库
- 使用终端命令创建文档,并写入初始化内容。(echo "初始化内容" >> 文件名)
- 初始化本地Git仓库,并将文档的修改提交到本地的Git仓库中。(1.git init:初始化;2.git add 文档名;3.git commit -m “提示信息”:提交文件)
- 将本地仓库和远程仓库进行关联,并把远程仓库进行命名。(git remote add 远程仓库名 远程仓库地址)
- 将本地仓库的内容推送到创建的远程仓库中。(git push -u 仓库名 master:推送到远程仓库中)
- 本地有现成的Git仓库
- 将本地仓库和远程仓库进行关联,并把远程仓库进行命名。(git remote add 远程仓库名 远程仓库地址)
- 将本地仓库的内容推送到创建的远程仓库中。(git push -u 仓库名 master:推送到远程仓库中)
2.3、SSH Key
SSH Key的作用:实现本地仓库和GitHub之间免登录的加密数据传输 。
SSH Key的组成部分:
- id_rsa:私钥文件,存放与客户端的电脑中即可
- id_rsa.pub:公钥文件,需要配置到GitHub中
2.3.1、生成SSH Key
生成SSH Key只需三步:
- 在你当前的项目文件夹中打开 Git Bash
- 粘贴如下命令,并将your_email@example.com替换为注册GitHub账号时填写的邮箱:ssh-keygen -t rsa -b 4096 -C"your_email@example.com"
- 连续敲击三次回车,即可在C:\Users\用户名文件夹\.ssh目录中生成id_rsa和id_rsa.pub两个文件
2.3.2、配置SSH Key
配置SSH Key只需四步:
- 使用记事本打开id_rsa.pub文件,复制里面的文本内容
- 在浏览器中登录GitHub,点击头像->Settings->SSH and GPG Keys->New SSH Key
- 将id_rsa.pub文件中的内容,粘贴到Key对应的文本框中
- 在title文本框中任意填写一个名称,来标识这个Key从何而来
注意点: 查看GitHub的SSH Key是否配置成功:输入ssh -T git@github.com然后回车
2.3.3、基于SSH将本地仓库上传到GitHub
因为经过前面的步骤所以现在运动SSH将本地仓库上传到GitHub只需要两步:
- 将本地仓库和远程仓库进行关联,并把远程仓库进行命名。(git remote add 远程仓库名 远程仓库地址)
- 将本地仓库的内容推送到创建的远程仓库中。(git push -u 仓库名 master:推送到远程仓库中)
3、分支
分支的概念:
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,暗队现在的你也没什么影响。不过,在某个时间点,两个平行宇宙合并了,结果就是你即学会了Git又学会了SVN。
分支在实际开发中的作用:
在进行多人协作开发的时候,为了防止互相干扰,特高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发 。
3.1、分支的常用命令
命令 | 作用 |
git brance | 查看分支列表,*号表示当前分支。 |
git brance 分支名称 | 创建新分支,执行完创建分支的命令后,用户当前还是处于主分支 |
git checkout 分支名字 | 切换分支 |
git checkout -b 分支名称 | 创建分支并切换到新建分支 |
git merge 分支名称 | 合并该分支 |
git brance -d 分支名字 git branch -D 分支名字 (强制删除) | 删除分支 |
git push -u 远程仓库的别名 本地分支名称:远程分支名称 | 第一次推送分支带-u,此后直接使用git push推送 |
git remote show 远程仓库名字 | 查看远程分支列表 |
git checkout 远程分支的名称 | 下载远程分支到本地 |
git checkout -b 本地分支名称 远程仓库名称/远程分支名称 | 下载远程分支到本地,并且为下载的分支从新命名 |
git pull | 拉取远程分支的最新代码 |
git push 远程仓库名称 --delete 远程分支名称 | 删除远程分支 |
总结
又是努力学习的一天。学习了一天用博客来总结收尾是个不错的选择!