git 历史由来
起源于Linux
<p>Linux Torvalds在 1991 年创建了开源的Linux,从此Linux系统不断发展,已经成为最大的服务器系统软件;Linux虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?</p>
<p>事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linux,然后由Linux本人通过手工方式合并代码! <br>
你也许会想,为什么Linux不把Linux代码放到版本控制系统里呢?不是有 CVS SVN 这些免费的版本控制系统吗?因为Linux坚定地反对CVS和SVN,这些 <code>集中式</code> 的版本控制系统不但速度 <code>慢</code> ,而且必须 <code>联网</code> 才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。</p>
<p>不过,到了2002年,Linux 系统已经发展了十年了,代码库之大让 Linux很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linux选择了一个商业的版本控制系统 BitKeeper ,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。</p>
<p>安定团结的大好局面在 2005 年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。</p>
<p>Linux花了 <code>两周时间</code> 自己用 <code>C</code> 写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!</p>
<p>Git迅速成为最流行的<code>分布式版本控制系统</code>,尤其是 <code>2008</code> 年 <code>GitHub</code> 网站上线了,它为开源项目 <code>免费</code> 提供Git存储 ,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。</p>
</blockquote>
git 基础命令
// git 把咱们文件对应的存储空间分为三个区 1、工作区 2、缓存区 3、历史区
// 直接操作文件,不做add 时 ,咱们是在工作区做的修改
// git status ----> 查看当前文件的状态
// git init -----> 初始化文件夹,让这个文件成为一个可用git操控的文件
// git add 文件名 ----> 把相应的文件 从工作区 提交到缓存区
//当文件夹下有多个文件时,我们用 (git add .) ----> 去提交所有文件
//git commit -m 'xxxx' ----> xxxx代表你这次提交的描述;
// 把缓存区的文件提交到历史区
// 在commit 之前 ,需要我们用自己的git账号去初始化
// git push zfpx master ---> 把本地的代码提交到 gitHub上
//git push zfpx master -->把本地的代码提交到gitHup上
//git remote add 库民(自己起的) 远程仓库地址
//git remote -v 查看本地有没有跟远程库建立连接
//git pull 从远程库 把代码拉下来
//在push 之前 一般都要做一次pull
git clone git地址
git branch 查看分支
git checkout 分支名
git status 查看更改了哪些文件
git add .
git commit -m '备注部分'
git push
新切分支 在nrc/1010上新切分支
git checkout nrc/1010 先切到对应分支
git branch nrc/1010_1 在本地新切了一个nrc/1010_1分支
git status
git add .
git commit -m '备注'
git push ----------》 git push --set-upstream origin nrc/1010_1
合并分支
git checkout nrc/1010 切回到原来的分支
git merge nrc/1010_1 若由冲突(conflict)则需要手动修改冲突
git checkout . 用暂存区的代码覆盖工作区
另一种简要方法;
是直接通过 git clone 把远程仓库 直接克隆到本地;
这个方法省掉了我们 搭建桥梁的操作;
有个默认桥梁 origin ;默认桥梁 可以不写
git pull 直接下拉
git push 直接推送
数据类型之间比较
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>珠峰培训</title>
</head>
<body>
<div id="div1">珠峰培训</div>
</body>
</html>
<script>
// [] == 0
// 1 引用数据类型 和 引用数据类型之间的比较
// 永远比较的是地址
var a = [1,2,3];
var b = [1,2,3];
var c = b;
a == b // false 两个不是一个地址
b == c // true 通过一个地址
a.join() == b.toString() // '1,2,3' == '1,2,3'
// 2 引用数据类型 和 字符串 比较 ;
// 先把引用数据类型 用toString() 转化成字符串 再去比较
console.log(a.join() == b); // '1,2,3' == '1,2,3'
// 3 null == undefined ---> true
// 4 其他情况 都是先转化成字符串 然后再转成数字 比较
'12' == 12 // true
'12q' == NaN // false
</script>