初识Git

    写这边专栏之前,我觉得有必要普及一下版本管理软件的相关概念,如果你还没有这个概念,不凡随着这篇文章来大致了解一番。

记得我第一份工作那时候是个小团队,当时对版本管理概念并不是很强,我们使用的是一个叫做dropbox的东西,但是也没有什么觉得不方便的,因为基本一个人负责一个项目的所有事情,从开发到测试包括一些策划的工作(当时其实并不知道还有策划这种工种),除了配备一个美术来负责一些素材和界面方面的设计,其他的基本要靠自己,这段是题外话。

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。


GIT的简介与使用
=============

# 1. Git 基础
>1.1 Git是一个开源的分布式版本控制系统

Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为
每一个开发人员的电脑上都有一个本地版本库,所以即使没有网络也一样可以Commit,
查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端。 这
也就意味着大部分操作都是在本地执行的
>1.2 直接记录快照,而非差异比较

Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,
而大多数其他系统则只关心文件内容的具体差异。

Subversion,Perforce,Bazaar 等等:

![ Cooki]( https://git-scm.com/figures/18333fig0104-tn.png)
git:

![ Cooki]( https://git-scm.com/figures/18333fig0105-tn.png)

>1.3 Git工作区,暂存区,版本库概念
工作区(Working Directory):

就是你在电脑里能看到的目录,比如我们的mini_client文件夹就是一个工作区:

版本库(Repository):

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,Git的版本库里存了很
多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创
建的第一个分支master,以及指向master的一个指针叫HEAD


![ Cooki]( https://github.com/CookiRui/gitflowRes/blob/master/workspace.jpg?raw=true)

基本的 Git 工作流程如下:

在工作目录中修改某些文件。
对修改后的文件进行快照,然后保存到暂存区域。
提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。


# 2. 如何使用GIT
>2.1 检查当前文件状态

要确定哪些文件当前处于什么状态,可以用 git status 命令。刚克隆下来的仓库的干净的,
nothing to commit, working directory clean.
假设我们现在修改了一个xiaorui.txt得问文件,那么这个文件会被标记成已修改,如果这个
文件是我们新建的,那么这个文件会被标记成未被追踪的。

>2.2 追踪或者暂存已修改的文件

我们使用 git add 命令, 实际上就是把要提交的所有修改放到暂存区(Stage)

>2.3 忽略某些文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

![ Cooki]( https://github.com/CookiRui/gitflowRes/blob/master/ig.png?raw=true)


>2.4 提交更新

现在的暂存区域已经准备妥当可以提交了。在此之前,请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit

* ## 2.5 查看提交历史

在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。

< pre >< code >
$ git log
commit 259113ff93de6dd45a138ed28bd407ca9689af28 (HEAD -> master)
Author: xiaorui < xiaorui@ ztgame. com >
Date: Mon May 7 16:05:57 2018 +0800

task:00 changed file xiaorui.txt

commit 4cd3f11944c653996482c20526a572f5c24c5eaf
Author: xiaorui < xiaorui@ ztgame. com >
Date: Mon May 7 16:05:07 2018 +0800

task:00 add new file xiaorui.txt

commit 127b362ad33e056ccaec042beee96636381efb91 (origin/master)
Author: xiaorui < xiaorui@ ztgame. com >
Date: Mon May 7 15:51:42 2018 +0800

task:00 first
</ code ></ pre >

看起来像这样的,默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更
新排在最上面。看到了吗,每次更新都有一个 SHA-1 校验和、作者的名字和电子邮件地址、
提交时间,最后缩进一个段落显示提交说明。 这个SHA-1 校验,我们把他认为是commit id。

* ## 2.6 本地版本回退

我们使用git reset命令 + 版本号 来恢复到指定版本
在Git中,用HEAD表示当前版本,也就是最新的提交259113ff93de6dd45a138ed28bd407ca9689af28
这里我来介绍下reset的三个参数分别是 --soft --hard --mixed(默认不加参数时候)

* --soft HEAD和你重置到的那个commit之间的所有变更集都放在stage(index)区域中
* --hard 清空所有区域,直接恢复到指定版本(可能会丢失数据)
* --mixed HEAD和你重置到的那个commit之间的所有变更集保留在工作区,清空stage

* ## 2.7 撤消操作

### 2.7.1 修改最后一次提交
> $ git commit --amend

此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明

### 2.7.2 取消已经暂存的文件

>git reset HEAD xiaorui.txt 的方式取消暂存

是不是很像 2.6 本地版本回退, --mixed的方式可以让所有暂存的文件全部回到工作区

### 2.7.3 取消对文件的修改
假如我们觉得对工作区xiaorui.txt的文件修改完全没有必要,现在怎么办呢

>$ git checkout -- xiaorui.txt



为毛不支持markdown语法

基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值