Git是目前世界上最先进的分布式版本控制系统。
流行的版本控制软件:Git 和 SVN 和 CVS
SVN与Git的最主要的区别:
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
git是linux内核开发的版本控制工具;有两个概念迁入和迁出
(1)迁入(check in):本地到服务器,又叫检入。
$ git init //创建项目(即git文件夹)
$ ls -ah //查看隐藏的目录
$ git add 文件 //上传文件
$ git status //查看仓库状态
$ git commit -m '说明' //添加创建新文件
//第一用的时候要注册,要不仓库不认识;
//因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
$ git config --global user.email "邮箱名"
$ git config --global user.name "姓名"
$ git diff 文件 //查看文件修改了什么内容
$ git log //查看日志(提交记录)
$ git log --pretty=oneline //日志显示一行
$ git reset --hard head^ //回退到当前版本的上一个版本
$ git reset --hard 版本号(id号) //退回到这个版本,版本号是git log的时候会出来的一串id号
$ git reflog //查看每次提交的log日志
(2)迁出(check out):把服务器上的代码拉倒本地,又叫检出。
1、下载并安装git
下载好以后傻瓜式(下一步.....)安装就可以;安装好以后,点击鼠标左键或在开始里找git会出来如图:
然后点击Git Bash,会弹出一个类似的命令串口的东西,就说明Git就安装成功。
2、如何操作
- 创建版本库。
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
创建一个版本库也是很简单的,我在F盘下新建了一个文件夹myTest,在文件夹内点击鼠标右键,点击Git Bash Here:如下图
上图$ git commit -m '说明' 提交成功了,是因为我以前注册过了,如果是第一次使用需要先注册:$ git config --global user.email "邮箱名"和$ git config --global user.name "姓名";然后在一次$ git commit -m "说明"
通过命令 git init 把这个目录变成git可以管理的仓库,这时候你的myTest目录下会多一个.git的目录。这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
- 使用命令 git add hello.js添加到暂存区里面去。 如果和上图一样,没有任何提示,说明已经添加成功了
- 通过命令git status来查看是否还有文件未提交,如上图有一个文件没有提交。
- 用命令 git commit告诉Git,把文件提交到仓库,如上图已经提交了一个hello.js文件了
好,到这一步,一个文件夹就已经上传完毕了。但是我现在修改了hello.js文件。继续使用git status来查看下结果。
上面的命令告诉我们 hello.js文件已被修改,但是未被提交的修改。接下来用$ git diff hello.js看修改了什么内容
可以看到hello.js文件内容添加了console.log("大家好");这时候还需要在一次提交:$ git add 文件;$ git commit -m " 说明" ;
查看历史记录,$ git log
下面传一个项目到Github上试一试吧!
这是我的一个Angular的demo,在此文件夹下点击鼠标右键,选择Git Bash Here,输入命令$ git init
(1)使用命令 git add . 添加到暂存区里面去
(2)使用命令$ git commit -m "Angular的小Demo";把文件提交到仓库
(3)在github上New repository
(4)上传github
ok,现在可以去github上看看你的项目传上去了吗。