Git命令整理学习-1

简介

git是一个分布式的版本控制系统,cvs、svn为集中式的版本控制系统

分布式与集中式的区别

集中式的版本库

是存放在中央服务器的,每次工作时,需先从服务器获取最新的版本,修改完后,在把新版本上传至服务器。

就好比是一个图书馆,改一本书,必须先从图书馆借出来,改完了,再放回去。

而且集中式版本控制,需要联网才能工作,遇到网络慢的,工作起来十分困难。

分布式控制系统:

分布式系统没有中央服务,所以不用联网,因为版本库就是你自己的电脑,两台电脑间改了文件,只需向对方推送修改的文件即可看到修改内容。

简单理解为,如周一你对文件进行了修改,周二又修改了一次,周三的时候想返回到周一修改的内容,可通过git以及简单的命令进行回退。还能查看具体修改的内容。

初始化

git config --global use.name"xxxx"

git config --global user.email"[email protected]"

下载安装完后,先注册,告诉机器你的名字和电子邮箱。


创建版本库

版本库又名为仓库(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分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。


Git命令整理学习-1_第1张图片

你可能感兴趣的:(Git命令整理学习-1)