注意保存自己的笔记吧,看来这个typora还是有点bug,居然还被我碰到了,今天突然死机,重启电脑后,看我自动保存的里面居然没有后来连上网了又有了,这就不说了嘛,但是命名文件有几kb的大小,为什么我一点开就是空白,我又重新开始学了,重新做一份笔记,还好代码量不是很大,看来以后时常要ctrl+s常按了。

一.开源相关概念

1. 什么是开源

开放源代码,代码公开任何人可以去使用、修改的。

2. 开源许可协议

  • GPL:具有传染性的一种协议,项目有这个协议了,项目中的任何项目都必须使用这个协议,他的特点是不允许修改和衍生的代码作为闭源的商业软件发布和销售(linux就是该协议,所以他下面的项目都要采用这个协议)
  • MIT:限制最少协议,在修改后的代码或者发行包中包含原作者许可信息即可。(jquery、node.js)

3. 开源项目托管平台

  • github
  • gitlab
  • gitee

二.github

1. 创建空白远程仓库

2. 远程仓库两种访问方式

  • HTTPS:零配置,但是每次访问仓库时都要输入账号密码

    还是需要在本地里面创建项目并且放入暂存放入仓库的地步

  • SSH:额外配置,但是不再需要输入账号密码(推荐)

    先要生成ssh Key

    然后配置github

    测试是否配置成功

    SSH上传仓库(同样需要提交本地仓库)

    创建一个新的仓库,然后点击ssh链接按照步骤即可

3. 新修改的项目如何上传?

直接git push 即可

4.将远程仓库克隆到本地

git clone

三.分支

1. 概念

我理解的意思就是相当于平行宇宙,这个世界的你在学git,那个世界的你在学vue,这就是两个分支,未来某一天还可能会合并,git和vue我都会。

2. master(main)主分支

注意:2020年十月开始github就将主分支也就是默认分支改为了main,在我们的老仓库看的到还是master的主分支

在我们初始化git init本地仓库的时候就会自动创建子一个master主分支出来。

它的作用是用来保存和记录整个项目已完成的功能代码,所以一般不推荐程序员直接去修改master主分支上的代码,因为这样风险太高容易导致项目崩溃。

3. 功能分支

也就是主分支上分叉出来的各个功能的分支,完成后合并到主分支上。

4. 查看分支列表

git branch

5. 创建新分支

git branch 分支名称

注意:只是创建并不会到这个分支上

6. 切换分支

git checkout 分支名称

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

git checkout -b 分支名称

这个代码可以直接创建又马上切换到创建的分支上,其实就相当于把branch简写了。

8. 合并分支

好了刚才的笔记终结到这里就结束了,又学了一编,我来详细阐述一下流程

  • 先创建一个项目,在项目里面打开终端切换到login分支在这个分支里面完成登录需求

    注意:我们虽然是一初始化就有这么一个master主分支,但是要上传文件后才能在git branch里面看到他才能切换他,所以第一次项目的创建还要先本地上传一次仓库

    注意我们的我们此时的文件都有大小的

  • 切换回主分支,注意看文件大小

9.删除分支

当我们把功能分支代码合并进去后就可以删除了,因为完成了功能业合并了进去这个分支就没用了

git branch -d 分支名称 需要在另外的分支上删除

注意:当分支没有合并到主分支的时候删除会失败,因为里面有文件没有合并删了就没得了,这个时候要强制删除 -D

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

当我们在两个不同的分支里面对同一个文件都做了修改都上传了本地仓库,这个时候再来合并就会报错,这个时候需要我们手动的去找到发生错误的文件然后解决冲突之后在执行git add 和 git commit

两边都输入了一些新代码并上传仓库

合并报错了,这个时候应该手动打开报错的文件,进行手动修改

这个时候将这个文件用vscode打开可以选择以哪个的为准进行存储

修改完毕放入暂存区,上传仓库,就可以合并进来了

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

​ 第一次需要执行以下代码:







远程分支名称没有的话定义的远程分支名字相当于下定义;默认远程仓库别名就为origin

​ 注意:第一次把本地分支推送远程仓库需要-u参数,后面直接git push即可

12.查看远程仓库分支列表



git remote show 远程仓库名





13.跟踪分支

​ 即从远程仓库将远程分支下载到本地仓库中。



注意:这里是两种方法前面两句是把远程分支下下来以pay命名;后面两句话是将远程分支重命名下载下来

方法一:



方法二:

14.拉取远程分支最新代码

git pull

github在线编辑



此时的大小



pull后的代码大小

15.删除远程分支



git-github远程仓库以及git的进阶使用的更多相关文章

  1. 使用git将本地仓库同步到github远程仓库

    一.下载安装git客户端windows版本 二.建立本地仓库文件夹 三.在本地仓库里右键点击Git Bash Here 四.初始化本地仓库 [git init] 执行之后仓库中会创建隐藏的文件夹.gi ...

  2. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  3. 本地Git仓库与Github远程仓库同步

    在本地创建了一个Git仓库后,还想在Github创建一个Git仓库,并使其远程同步.1.在电脑的用户主目录下有无.ssh目录,若有看是否有id_rsa和id_rsa.pub文件.若无,则创建SSH K ...

  4. git学习笔记04-将本地仓库添加到GitHub远程仓库-git比svn先进的地方

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步. 如果没有,打开Shel ...

  5. 使用Git将本地仓库与GitHub远程仓库相关联

    这篇文章详细讲解了如何生成SSH,并链接到GitHub,123..... 1.如果你的GitHub里面没有仓库,就自己生成一个,如图所示 2.如果你有自己仓库,想在电脑本地新建一个,你需要将GitHu ...

  6. 初次使用git上传代码到github远程仓库

    https://blog.csdn.net/loner_fang/article/details/80488385 2018年05月28日 21:02:31 蒲公英上的尘埃 阅读数:697 因为最近在 ...

  7. Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)

    在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...

  8. Git学习之连接GitHub远程仓库

    在看此教程之前电脑上应该已安装好git,并且配置好基本信息,Git新手请从头开始. 第1步:创建SSH Key 在用户主目录下(Mac系统是在用户主目录下,可通过命令ll -a查看,Windows下自 ...

  9. Git本地仓库与Github远程仓库关联

    如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的. SSH Key ...

  10. Git 连接远程仓库Github

    创建SSH Key. 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步. 如果没有,打开Shell(W ...

随机推荐

  1. Mysql之锁(一)

    读锁与写锁 读锁:共享锁.Shared Locks.S锁. 写锁:排他锁.Exclusive Locks.X锁. 读锁:只能读不允许写 写锁:不能读也不能写,只允许自己写 但是允许其他事务进行普通的s ...

  2. 监听watch?

    对应一个对象,键是观察表达式,值是对应回调.值也可以是methods的方法名,或者是对象,包含选项.在实例化时为每个键调用 $watch()

  3. ThreadPoolTaskExecutor原理、详解及案例

    为什么要用线程池? 服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的. 构建服务器应用程序的一个过于简单的模型应该是:每当一个请求到达就创建一个新线程,然后在新线程中为请 ...

  4. Bean 工厂和 Application contexts 有什么区别?

    Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件.另外,在容器或容器内的对象上执行的那些不得不由be ...

  5. Java 中,受检查异常 和 不受检查异常的区别?

    受检查异常编译器在编译期间检查.对于这种异常,方法强制处理或者通过 throws 子句声明.其中一种情况是 Exception 的子类但不是 RuntimeException 的子类.非受检查是 Ru ...

  6. WebSQL是什么?

    WebSQL是客户浏览器端的结构化的关系数据库.这是浏览器内部的本地RDBMS,你可以在这个本地RDBMS上执行SQL查询.

  7. python办公自动化系列之金蝶K3(三)

    小爬在之前的两篇文章 [python办公自动化系列之金蝶K3自动登录(一)].[python办公自动化系列之金蝶K3自动登录(二)]带大家系统搞定了K3客户端的自动登录难题,但是搞定[自动登录]只是我 ...

  8. 攻防世界baby_web

    baby_web 题目提示想想初始页,但我们一访问就会跳转到1.php我们使用bp抓包分析,我们发送到repeater模块修改请求访问1.php内容看看 发现flag隐藏了我们去hex中看看 这样我们 ...

  9. 序列化多表操作、请求与响应、视图组件(子类与拓展类)、继承GenericAPIView类重写接口

    今日内容概要 序列化多表操作 请求与相应 视图组件 内容详细 1.序列化多表操作 模型类 models.py中 # 新建django项目 # 创建表 模型类models.py中: from djang ...

  10. BFC理解

    Block formatting context (块级格式化上下文) 页面文档由块block构成 每个block在页面上占据自己的位置 使用新的元素构建BFC overflow:hidden | a ...