git 是什么?
Git是目前世界上最先进的分布式版本控制器之一
什么是版本控制?
就是对任何类型的文件进行版本控制
SVN属于集中式版本控制器,git属于分布式版本控制器(集中式vs分布式)
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟
分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
Git的优势不单是不必联网这么简单,Git极其强大的分支管理,把SVN等远远抛在了后面
在Windows上安装Git
在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name “Your Name”
$ git config --global user.email "email@example.com"
如何用命令将本地项目上传到git
- (先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
- 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
- 用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m ‘first commit’
- 关联到远程库git remote add origin 你的远程库地址:
git remote add origin https://github.com/cade8800/ionic-demo.git
- 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
- 把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
*、状态查询命令
git status
版本回退
在Git中,我们用git log查看历史记录
git log命令显示从最近到最远的提交日志,我们可以看到3次提交
看到的一大串类似1094adb…的是commit id(版本号)图片中黄色字体的
我们要把当前版本git回退到上一个版本就可以使用git reset命令:
回退到指定版本 命令.
现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?
Git提供了一个命令git reflog用来记录你的每一次命令
删除指令
例如删除 test.txt :
git rm test.txt
如果想要恢复的话 使用命令:
git checkout – test.txt
git 添加远程仓库
git remote add origin 例如
如果仓库为空就可以把本地库的所有内容推送到远程库上:
git push -u origin master(远程库的分支)
如果不为空就从仓库内将项目克隆出来
.git clone 后面接仓库地址