一.git 简介
git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
什么是分布式版本控制系统?
分布式版本控制系统,重点在于分布。 分布的含义不是说每台计算机上只留有版本库的一部分。 恰恰相反,分布的含义是每台计算机上都还有一个完整的版本库。 这个时候,你的修改仅仅需要提交给本地的版本库进行保存就可以了。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
二.安装git
在Windows上使用Git,可以从Git官网直接下载安装,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
补充1:
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多 Git CMD:Windows风格的命令行 Git
Git CMD:Windows风格的命令行
GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
安装完成后,还需要最后一步设置,设置用户名与邮箱(用户标识,必要)在命令行输入
补充·2:常用的Linux命令
1)、cd : 改变目录。
2)、cd . . 回退到上一个目录,直接cd进入默认目录
3)、pwd : 显示当前所在的目录路径。
4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)、mkdir: 新建一个目录,就是新建一个文件夹。
8)、rm -r : 删除一个文件夹, rm -r src 删除src目录
9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit 退出。
15)、#表示注释
三.git 使用
git工作流程
一般工作流程如下:
-克隆 Git 资源作为工作目录。
-
在克隆的资源上添加或修改文件。
-
如果其他人修改了,你可以更新资源。
-
在提交前查看修改。
-
提交修改。
-
在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
三种状态
文件的三种状态:已提交(committed)、已修改(modified)和已暂存(staged)
- 已修改,表示修改了文件,但还没保存到数据库中。
- 已暂存,表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
- 已提交,表示数据已经安全的保存在本地数据库中。
如果 Git 目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。
1.创建版本库
什么是版本库(工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库)
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
1)创建一个空目录
$ mkdir git-study
2)初始化仓库
git init
初始化完仓库,git-study文件夹下会出现.git目录
如果没有出现,因为目录默认是隐藏的,可以打开隐藏项目
2.将文件提交到版本库
在git-study文件夹下(工作区)创建study.txt
1)将本地文件添加到暂存区
$ git add .
2)将暂存区的文件提交到本地仓库
$ git commit -m"提交暂存区中的内容到本地仓库" -m 本次提交的说明
#git commit -m "第一次提交"
3.工作区和暂存区
工作区:是你在电脑里能看到的目录,比如我的git-study就是一个工作区
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
4.git基本操作
1)克隆远程仓库
# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]
2).版本回退
$ git log #查看历史记录,以便确定回到那个版本
$ git reset --hard HEAD^ # 回退到上一个版本,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
$ got reset --hard 1094a #1009a指的是版本号的前几位
$ git reflog #查看历史命令,以便确定回到未来的那个版本
$cat 文件名 #查看文件内容
3).修改
当修改后
git status #查看文件所有状态
会提示修改未被提交
再进行如下步骤
$ git add .
$ git commit -m"提交暂存区中的内容到本地仓库" -m 本次提交的说明
4).撤销修改
$ git checkout -- file #可以丢弃工作区的修改
$ git checkout -- study.txt #撤销study工作区的修改全部撤销
$ git reset HEAD <file> #可以把暂存区的修改撤销掉(unstage),重新放回工作区
5).删除文件
rm study.txt
git rm study.txt #从版本库中删除该文件
$ git checkout -- study.txt #如果误删,把误删的文件恢复到最新版本(前提study.txt之前被添加到版本库)
参考资料:
1.狂神说-Git最新教程通俗易懂
2.Git教程-廖雪峰官网
未完待续…