Github及Git分支

今日重点:
一、了解开源相关的概念
1、什么是开源
![]()
开源是指不仅提供程序还提供程序的源代码
闭源是只提供程序,不提供源代码
2、什么是开源许可协议
开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议( Open Source License )。
3、常见的 5 种开源许可协议
①BSD
②Apache Licence 2.0
③GPL
具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
使用 GPL 的最著名的软件项目是:Linux
④LGPL
⑤MIT
是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息
使用 MIT 的软件项目有:jquery、Node.js
4、为什么要拥抱开源
① 开源给使用者更多的控制权
② 开源让学习变得容易
③ 开源才有真正的安全
5、开源项目托管平台
专门用于免费存放开源项目源代码的网站,叫做开源项目托管平台
主要有以下 3 个:
(1)Github(全球最牛的开源项目托管平台,没有之一)
(2)Gitlab(对代码私有性支持较好,因此企业用户较多)
(3)Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
注意:以上 3 个开源项目托管平台,只能托管以 Git 管理的项目源代码,因此,它们的名字都以 Git 开头
二、Github
1、什么是 Github
Github 是全球最大的开源项目托管平台。因为只支持 Git 作为唯一的版本控制工具,故名 GitHub。 So,Github ≠ Git
2、注册Github账号
访问官网首页,填写信息--去邮箱激活--完成注册
3、远程仓库的使用
远程仓库的两种访问方式
(1)基于 HTTPS 将本地仓库上传到 Github
注意:第二次提交以后,提交只需要写:git push 就可以了
(2)基于 SSH key
SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
① id_rsa(私钥文件,存放于客户端的电脑中即可)
② id_rsa.pub(公钥文件,需要配置到 Github 中)
(3)生成 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 两个文件
(4)配置 SSH key
① 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
② 在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
③ 将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
④ 在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来
(5)检测 Github 的 SSH key 是否配置成功
ssh -T git@github.com 然后 输入yes
(6)基于 SSH 将本地仓库上传到 Github
![]()
注意: git push origin master 也能进行提交,git push origin -u 的话可以提交代码,并且把origin 当作默认的主机,后续直接 git push 就可以提交到origin对应的主机
(7)将远程仓库克隆到本地
git clone 远程仓库的地址
三、Git分支
1、master 主分支
(1)在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支。
(2)master 主分支的作用是:用来保存和记录整个项目已完成的功能代码, 因此,不允许程序员直接在 master 分支上修改代码
2、功能分支
功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到 master 主分支上
3、查看分支列表
git branch
注意:分支名字前面的 * 号表示当前所处的分支。
4、创建新分支
可以基于当前分支,创建一个新的分支:git branch 分支名称
5、切换分支
git checkout login
6、分支的快速创建和切换
创建指定名称的新分支,并立即切换到新分支上:git checkout -b 分支名称
7、合并分支
(1) 切换到 master 分支
** git checkout master**
(2)在master 分支上运行 git merge 命令,将 login 分支的代码合班到 master 分支
** git merge login**
注:假设要把 C 分支的代码合并到 A 分支,则必须先切换到 A 分支上,再运行 git merge 命令,来合并 C 分支!
8、删除本地分支
当把功能分支的代码合并到 master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:
git branch -d 分支名称 (如果没有合并,那么删除后报错)
git branch -D 分支名称 (强制删除)
9、遇到冲突时的分支合并
如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。 此时,我们需要打开这些包含冲突的文件然后手动解决冲突。
![]()
四、远程分支操作
1、将本地分支推送到远程仓库
如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:
![]()
注意:因为第一次github里面没有本地git的分支,所以第一次推送分支需要带 -u 参数;此后可以直接使用 git push 推送代码到远程分支。
2、查看远程仓库中所有的分支列表
通过如下的命令,可以查看远程仓库中,所有的分支列表的信息:
git remote show 远程仓库名称
3、跟踪分支
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。需要运行的命令如下:
删除本地原有同名分支; git branch -d "分支名称"
4、拉取远程分支的最新的代码
从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致
git pull
5、删除远程分支
删除远程仓库中,制定名称的远程分支
git push --delete 远程仓库名称(origin) 远程分支名称(pay)
五、总结
1、能够掌握 Git 中基本命令的使用
(1)git init
(2)git add .
(3)git commit –m "提交消息"
(4)git status 和 git status -s
2、能够使用 Github 创建和维护远程仓库
(1)能够配置 Github 的 SSH 访问
(2)能够将本地仓库上传到 Github
3、能够掌握 Git 分支的基本使用
(1)git checkout -b 新分支名称
(2)git push -u origin 新分支名称
(3)git checkout 分支名称
(4)git branch
有关Git概念及基础的知识请点击a=href"https://www.cnblogs.com/kk199578/p/14265920.html"

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。