Git(https://git-scm.com/):目前世界上最先进的分布式版本控制系统;
它可以(显示)不同用户在不同时间点修改某一个文档中的任何信息。
Git:一个分布式版本控制系统,(简单来说就是一个软件),可以记录一个或诺干个文件内容的变化,以便查阅特定版本修订情况的软件。
Github(https://github.com/)是一个为用户提供Git服务的网站,可以说就是一个放代码的地方(不过放的东西不仅仅只有代码,可以是其他一些资料)。Github除了提供管理Git的web界面外,还提供了很多功能;例如订阅、关注、讨论组、在线编程器(很叼的功能 )等。
Github被称为全球最大的‘基友’(交友)网站。
如果你喜欢git,可以先去Github注册账号,然后到Git下载git软件。
由于git官方下载太慢了;可以这个网站下载(一个不错的国内镜像网站)网址地址:https://npm.taobao.org/mirrors/git-for-windows/
git的使用
1、本地仓库
1.1工作流程
git本地操作的三个区域:
1、git Repository(git 仓库) :最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见;
2、暂存区 :暂存已经修改的文件最后统一提交到git仓库中;
为什么要有暂存区?
可以用生活的小常识说明一下:比如帮别人购买东西,我们都是把所有东西一起购买,而不是一件一件购买;主要让我们暂时存放在这里的资料,有些修改的不是很好或需要再次修改,可以方便拿回来继续修改,最后确定无误后再统一提交到git仓库。(这是我的理解)
3、工作区(working Directory):添加、编辑、修改文件等动作。
一、本地仓库(repository)
1.可以理解是一个目录,用于存放代码的(或其他),这个目录里面的所有文件都被git管理,每个文件的增删改查都会被git跟踪。
全局配置: $ git config --global user.name "(这里可以写你的github的用户名)"
$ git config --global user.name(显示你的name)
$ git config --global user.email "(这里可以写你的github的邮箱地址)"
$ git config --global user.email(显示你的email)
2.创建仓库
我们需要让git去管理新项目/已经存在的项目时,就需要创建仓库了。注意,创建仓库
使用的目录不一定要求是一个空目录,选择一个非空目录也是可以的;(注意:不建议在现有项目上来学习git ,否则造成的一切后果概不负责!还有避免在学习或使用中出现各种问题,不要使用含有中文的目录名字(所有目录都一样,不要使用中文名字的目录))。
创建目录指令:$ mkdir (名字 不能含有中文)
进入目录指令:$ cd 名字
(只需要使用一次)git仓库初始化(让git知道,需要它来管理目录)指令:$ git init
使用指令后,会创建一个隐藏的目录(.git),这个目录是git所创建的,不能删除,也不能随便更改里面的东西。
创建完仓库,就可以在里面放到东西。
二、git常用指令
1.查看当前状态指令:$ git status
2.添加到缓存区指令:$ git add 文件名
$ git add 指令,可以添加一个或多个文件,也可以添加目录;
语法1:$ git add 文件名
语法2:$ git add 文件名1 文件名2 文件名3 ···
语法3:$ git add . [添加当前目录到缓存区中]
3.提交到版本库指令:$ git commit -m "注释内容"(注释一定要写)
在后续对于文件(可以操作1个或多个)操作之后,重复使用git add 与 git commit 指令即可。
三、时光穿梭机---版本回退(后悔药)
1.版本回退分为两个步骤进行操作:
步骤:
1.查看版本,确定需要回到的时刻点;
指令:git log (显示日志)
git log --pretty=oneline(推荐)
2.回退操作
指令:git reset --hard 提交编号(commit id 黄色的字符串)
注意:回到过去后,要想再次回到之前的版本,则需要使用指令取查看历史操作,以得到之前的版本号(提交编号)commit id。
指令:git reflog
时光机小结:
a.想要回到过去,必须先得到commit id ,然后通过 git reset --hard (commit id) 进行回退;
b.想要回到未来,需要使用指令:git reflog 得到commit id,然后通过git reset --hard (commit id) 进行回归;
c.在使用git reset --hard (commit id)时,commit id 不要写全,git会自动识别,但是commit id 必须要写5位字符以上。