Git
Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理 从很小到非常大的项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性;
特性:① 直接记录快照,而非差异比较
② 近乎所有操作都是本地执行
概念:版本控制软件是一个用来记录文件变化,以便将来查阅特定
版本修订情况的系统,因此有时也叫做“版本控制系统”。
操作:只需识记几组简单的终端命令,即可快速上手常见的版本控制软件;
本地版:
特点:
使用软件来记录文件的不同版本,提高了工作效率, 降低了手动维护版本的出错率;
缺点:
1.单机运行,不支持多人协作开发
2.版本数据库故障后,所有历史更新记录会丢失;
集中化:
特点:基于服务器、客户端的运行模式
① 服务器保存文件的所有更新记录
② 客户端只保留最新的文件版本
优点:联网运行,支持多人协作开;
缺点:
① 不支持离线提交版本更新
② 中心服务器崩溃后,所有人无法正常工作
③ 版本数据库故障后,所有历史更新记录会丢失
分布式:
特点:基于服务器、客户端的运行模式
服务器保存文件的所有更新版本
客户端是服务器的完整备份,并不是只保留文件的最新版本;
优点:
① 联网运行,支持多人协作开发
② 客户端断网后支持离线本地提交版本更新
③ 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复;
Git中的三个区域
使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库。
工作区:
处理工作的区域;
暂存区:
已完成的工作的临时存放区域,
等待被提交;
Git 仓库:
最终的存放区域;
Git 中的三种状态:
已修改:
表示修改了文件,但还没 将修改的结果放到暂存区;
已暂存:
表示对已修改文件的当前 版本做了标记,使之包含 在下次提交的列表中;
已提交:
表示文件已经安全地保存 在本地的 Git 仓库中;
基本的 Git 工作流程如下:
① 在工作区中修改文件
② 将你想要下次提交的更改进行暂存
③ 提交更新,找到暂存区的文件,将快照永久性存储到 Git 仓库;
1. 在 Windows 中下载并安装 Git;
2. 配置用户信息:
装完 Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。
通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址;
获取 Git 仓库的两种方式:
① 将尚未进行版本控制的本地目录转****换为 Git 仓库
② 从其它服务器克隆一个已存在的 Git 仓库;
作区中的每一个文件可能有 4 种状态,这四种状态共分为两大类:
未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非明确 地告诉它“我需要使用 Git 跟踪管理该文件”。
使用 git status 输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下 两条完全等价的命令,其中 -s 是 –short 的简写形式:
使用命令 git add 开始跟踪一个文件。 所以,要跟踪 index.html 文件;
以精简的方式显示文件的状态:
新添加到暂存区中的文件前面有绿色的 A 标记;
现在暂存区中有一个 index.html 文件等待被提交到 Git 仓库中进行保存。可以执行 git commit 命令进行提交, 其中 -m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述:
提交成功之后,再次检查文件的状态:
证明工作区中所有的文件都处于“未修改”的状态,没有任何文件需要被提;
暂存已修改的文件:
如果要暂存这次修改,需要再次运行 git add 命令,这个命令 是个多功能的命令,主要有如下 3 个功效:
① 可以用它开始跟踪新文件
② 把已跟踪的、且已修改的文件放到暂存区
③ 把有冲突的文件标记为已解决状态;
再次运行 git commit -m “提交消息” 命令;提交到 Git 仓库中进 行保存:
撤销对文件的修改:
撤销对文件的修改指的是:把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本。 操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!
如果需要被暂存的文件个数比较多,可以使用如下的命令,一次性将所有的新增和修改过的文件加入暂存区:
取消暂存的文件:
如果需要从暂存区中移除对应的文件,可以使用如下的命令:
git reset HEAD 要移除的文件名称;
跳过使用暂存区域:
Git 标准的工作流程是工作区 → 暂存区 → Git 仓库,但有时候这么做略显繁琐,此时可以跳过暂存区,直接将 工作区中的修改提交到 Git 仓库,这时候 Git 工作的流程简化为了工作区 → Git 仓库。
Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把 所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:
git coomit -a -m "描述消息"