简介
git是一个分布式的版本控制系统,cvs、svn为集中式的版本控制系统
分布式与集中式的区别:
集中式的版本库:
是存放在中央服务器的,每次工作时,需先从服务器获取最新的版本,修改完后,在把新版本上传至服务器。
就好比是一个图书馆,改一本书,必须先从图书馆借出来,改完了,再放回去。
而且集中式版本控制,需要联网才能工作,遇到网络慢的,工作起来十分困难。
分布式控制系统:
分布式系统没有中央服务,所以不用联网,因为版本库就是你自己的电脑,两台电脑间改了文件,只需向对方推送修改的文件即可看到修改内容。
简单理解为,如周一你对文件进行了修改,周二又修改了一次,周三的时候想返回到周一修改的内容,可通过git以及简单的命令进行回退。还能查看具体修改的内容。
初始化
git config --global use.name"xxxx"
git config --global user.email"xxxx@XX.com"
下载安装完后,先注册,告诉机器你的名字和电子邮箱。
创建版本库
版本库又名为仓库(repository),简单理解为,是一个目录,能被git所管理,所有的修改、删除都能被追踪,并进行还原操作。
创建一个空目录(工作区)
mkdir 目录名
进入目录
cd 目录名
显示当前所在目录的位置
pwd
把当前目录变成git可以管理的仓库‘
git init
把文件添加到仓库,可反复使用,添加多个文件
git add 文件路径
把文件提交到仓库
git commit -m "提交说明"
查看仓库(暂存区)当前状态
git status
查看对文件作了什么修改
git diff
查看当前文件内容
cat 文件
版本回退
查看版本历史记录
git log
查看完整版本历史记录
git reflog
回到上一个版本," ^ "回到上一个版本 " ^^ "回到上两个版本,以此类推。或者" ~100 "回到上100个版本
git reset --hard HEAD^
精确回退,回到指定的版本号
git reset --hard 版本号
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
工作区和暂存区
工作区:就是你在电脑里能看到的目录。
工作区有个隐藏的目录,.git,这个不算工作区,而是Git的版本库
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,
还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,
所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
网友评论