【前端学习笔记】day48:Github

388 阅读5分钟

Github-了解开源相关的概念

1. 常见的5种开源许可协议

  • BSD(Berkeley Software Distribution)
  • Apache Licence 2.0
  • GPL(GNU General Public Licence)
  • LGPL(GNU Lesser General Public License)
  • MIT(Massachusetts Institute of Technology,MIT)

GPL:具有传染性的一种开源协议,不允许修改后和衍生的代码作为闭源的商业软件和销售 使用GPL最著名的软件是Linux

MIT:是目前限制最少的一种协议,唯一的条件是:在修改之后的代码或者发行包中,必须包含原作者的许可信息 使用MIT的软件项目有:jQuery NOde.js

Github-远程仓库的使用

1. 远程仓库的两种调用方式

Github 上的远程仓库,有两种访问方式,分别是 HTTPS和SSH。他们的区别是:

  • HTTPS:零配置;但是每次访问仓库时,需要重复输入Github账号才能访问成功
  • SSH:需要进行额外的配置,但是配置成功之后,每次访问仓库时,不需要重复输入Github的账号和密码

2. 基于HTTPS将本地仓库上传到Github

第一次推送时使用以下代码:

git push -u origin master

之后推送可以使用:

git push

3. 生成SSH key

  • 打开Git Bash
  • 粘贴如下的命令,替换成自己注册时的邮箱
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 连续敲击三次回车,即可在C:\users\用户名.ssh目录中生成id_rsa和id_rsa.pub两个文件

Git分支-本地分支操作

1. master主分支

在初始化本地Git仓库时,Git默认已经帮我们创建了一个名字叫做master的分支。通常我们把这个master分支叫做主分支

在实际工作中,master主分支的作用是:用来保存和记录整个项目已经完成的功能代码 因此,不允许程序员直接在master分支上修改代码,因为这样做的风险较高,容易导致整个项目崩溃

2. 功能分支

由于程序员不能直接在master分支上进行功能的开发,所以就有了功能分支的概念

功能分支指的是专门用来开发新功能的分支,它是临时从master主分支上分叉出去的,当新功能开发且测试完毕后,最终合并到master主分支上

3. 查看分支列表

使用如下的命令,可以查看当前Git仓库中所有的分支列表:

git branch

注意:分支名字前面的*号表示当前所处的分支

4. 创建新的分支

使用如下命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:

git branch 分支名称

注意:执行完创建分支命令之后,用户当前所处的分支还是master主分支

5. 切换分支

git checkout 分支名称

6. 分支的快速创建和切换

使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:

git checkgout -b 分支名称

7. 分支合并

功能分支的代码开发测试完成之后,可以使用如下命令,将完成后的代码合并到master主分支上

(1)切换到master分支

git checkout master

(2)在master 分支上运行 git merge 命令,将login 分支的代码合并到master分支

git merge login

8. 删除分支

当把功能分支的代码合并到master主分支上以后,就可以使用如下的命令,删除对应的功能分支:

git branch -d 分支名称

注意:不能删除当前所在的分支,必须在其他分支上时才能删除当前分支

9. 遇到冲突时的分支合并

如果唉两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并他们。此时,我们需要打开这些包含冲突的文件然后手动解决冲突

假设:在把reg分支合并到master分支期间,代码发生了冲突

git checkout master
git merge reg

打开包含冲突的文件,手动解决冲突后,再执行如下的命令:

git add .
git commit -m "解决了分支合并冲突的问题"

Git分支-远程分支操作

1. 将本地分支推送到远程仓库

如果是第一次将本地分支推送到远程仓库,只在第一次推送的时候需要带 -u 参数

git push -u 远程仓库的别名 本地分支名称:远程分支名称

实际案例:

git push -u origin payment:pay

如果希望远程分支的名称和本地分支的名称保持一致,可以对命令进行简化:

git push -u origin payment

注意:第一次推送分支需要带-u参数,此后可以直接使用git push 推送代码到远程分支

2. 查看远程仓库中所有的分支列表

通过如下命令,可以查看远程仓库中,所有的分支列表的信息:

git remote show 远程仓库名称

远程仓库名称默认都是origin

3. 跟踪分支

跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中,需要运行的命令如下:

  • 从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同
git checkout 远程分支的名称
  • 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称

例如:

git checkout -b payment origin/pay

4. 拉取远程分支的最新代码

可以使用如下的命令,把远程分支最新的代码下载到本地对应的分支中:

git pull

5. 删除远程分支

可以使用如下的命令,删除远程仓库中指定的分支:

git push 远程仓库名称 --delete 远程分支名称

例如:

git push origin --delete pay

应该与删除本地分支有所区别

git branch -d 本地分支名字