开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情
前言
git是一个开源的分布式版本控制系统。
关键词:分布式 版本控制
如何理解分布式?参照下图,传统的集中式系统可能会出现中心服务器出现故障,其他电脑就无法提交的问题。
而分布式就很好的解决了这个问题,像 Git 这种分布式版本控制工具,解决了集中式版本控制系统的缺陷: 1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的) 2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
版本控制则更好理解,git记录每一个历史版本,可以方便找到之前的版本。
下面深入学习git,注意,本文不说明git安装方法。
基本配置
在初次安装好git后,在桌面任意位置,鼠标右键,打开“Git Bash”,
1.设置用户信息
git config -global user.name "itcast"
git config -global user.email "hello@itcast.cn"
2.查看配置信息
git config -global user.name
git config -global user.email
用户跟邮箱一定要配置,不然后面会报错。
获取本地仓库
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库
步骤:
- 在电脑的任意位置创建一个空目录 (例如test) 作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令git init
- 如果创建成功后可在文件夹下看到隐藏的.git目录。
基础操作指令
Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。
上图所示的工作区,就是除了.git目录以外的区域就是工作区,文件只有添加到暂存区后,再添加到仓库,才算是一次完整的提交。
查看修改的状态(status)
●作用:查看的修改的状态(暂存区、工作区)
●命令形式: git status
添加工作区到暂存区(add)
●作用:添加工作区一个或多个文件的修改到暂存区
●命令形式: git add 单个文件名|通配符
将所有修改加入暂存区: git add .
如果有不想添加到暂存区的文件,可以在工作区新建.gitignore文件,在该文件中写入不想加入暂存区的文件就行。
例如,我觉得git add .添加到暂存区很方便,但又不想file02.txt文件添加到暂存区,我就新建.gitignore文件,在文中添加file02.txt写入就行。
提交暂存区到本地仓库(commit)
●作用:提交暂存区内容到本地仓库的当前分支
●命令形式: git commit -m '注释内容'
查看提交日志(log)
●作用:查看提交记录
●令形式: git log [option]
| options | 作用 |
|---|---|
| --all | 显示所有分支 |
| --pretty=oneline | 将提交信息显示为一行 |
| --abbrev-commit | 使得输出的commitld更简短 |
| -graph | 以图的形式显示 |
命令太长的话我们可以使用别名,
打开gitBash,执行 touch ~/ .bashrc,然后我们就可以在该文件中添加这行命令:alias git-log="git log --pretty=oneline --all --graph --abbrev-commit",这个文件在当前用户目录下。
效果如图:
版本回退
●作用:版本切换
●命令形式: git reset --hard commitID
。commitID 可以使用git-log或git log指令查看
●如何查看已经删除的记录?
git reflog
这个指令可以看到已经删除的提交记录
文件提交案例
我们在本地仓库新建一个file01.txt文件,我们直接查看它的状态,显示是未跟踪的(图片中的Untracked 应该是未跟踪,图中文字写错了)。
用命令git add file01.txt添加到暂存区,省事点也可以直接git add .
git commit完成一次提交
如果我们需要做版本回退,用git log找到要回退的对应版本的commitID,使用git reset --hard commitID即可。
如果版本回退后,git log看不到记录了,可以git reflog 查看所有记录