CVS(始祖,集中式1985年)–>SVN(集大成者,集中式2000年)–>git(geek主流,分布式2005年)–>github(geek社区,托管网站2008年)
Git是目前世界上最先进的分布式版本控制系统.
SVN 是集中式版本控制系统,版本库是放在中央服务器的,而干活的时候,用的都是自己的电脑, 所以首先要从中央服务器那里得到最新的版本,然后干活,干完后需要把自己做完的活推送到中央服务器. 集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了.
> Git是分布式控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样工作的时候就不需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都是一个完整的版本库,那多个人之间如何协作呢?比如自己在电脑上改了A文件,其他人也在电脑上改了A文件, 这时你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了!
msysgit是windows 版的Git.安装完成后,在开始菜单里面找到”Git ->Git Bash”,因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识. git config --global user.name "***" git config --global user.email "******@163.com" 注意:git config –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
一: 创建版本库
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解为一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来的某个时刻还可以将文件”还原”. 1. 通过命令git init 把这个目录变成git 可以管理的仓库
这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录下的文件,否则会把git仓库给破坏了.2. 把文件添加到版本库中
首先明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码,Git也不例外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽然也能用版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1KB变成2KB,但是到底改了啥,版本控制也不知道. 下面是demo演示: 在版本库testgit 目录下新建一个记事本文件 readme.txt 内容如下:11111111; 第一步:使用git 命令: ```git add readme.txt``` 添加到暂存区里面去.如果没有任何提示,说明已经添加成功了 第二步:用命令 ```git commit -m "可添加提交注释"``` 告诉Git,把文件提交到仓库.(提交修改和提交文件是一样的两步:第一步是git add ,第二步是git commit -m "注释")
命令 ```git status``` 查看状态 命令 ```git diff readme.txt``` 查看文件改了什么内容 命令 ```git log``` 查看历史记录,显示从最近到最远的日志,简化版:```git log --pretty=oneline```二: 版本回退
回退到上一个版本:git reset --hard HEAD^
上上个版本:git reset --hard HEAD^^
回退到前100个版本:git reset --hard HEAD~100
回退后要知道前一个版本号:git reflog
回退后再恢复:git reset -hard 版本号
三: 理解工作区与暂存区的区别
。。。。。。勾选initialize this repository with a README: 当在文件中作一些修改,写一些项目介绍的时候可以在整个项目的主页里看的到。