Git基础

首先从版本控制讲起:
###版本控制——

  • 什么是版本控制(VCS,Version Control System)?

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

直白一点来说,就是记录了你对文件的更改信息,包括内容,时间,修改人等等。

  • 为什么要进行版本控制?
    打个比方,你在word上更改了一些内容,为了方便查看最原始的内容,你是不是要从新备份一下,于是你就“另存为“,然后再重新命名,为了方便你知道做了什么修改,你可能会在文件名中加入一些提示信息。
    这一系列的过程是不是很麻烦,但是采用版本控制——

你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。

  • 版本控制与git的关系?
    git是一个分布式版本控制系统(Distributed Version Control System,简称 DVCS)。这就要从版本控制的发展历史说起,从最初的本地版本控制系统到集中化的版本控制系统,再到分布式版本控制系统。前两个控制系统都存在这样的问题——只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。
    而分布式版本控制系统客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。更进一步,分布式版本控制系统可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。 你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。

###Git——
####Git中数据的三种状态

Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。 已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前
版本做了标记,使之包含在下次提交的快照中。

分别对应三个工作区域的概念:Git 仓库、工作目录以及暂存区域。
####Git工作区

  • Git 仓库目录:是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
  • 工作目录:是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
  • 暂存区域:是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’’,不过一般说法还是叫暂存区域。

####基本的 Git 工作流程如下:

  1. 在工作目录中修改文件。
  2. 暂存文件,将文件的快照放入暂存区域。
  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

####用户信息
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

####Git的使用
包活命令行和GUI两种形式,下面会主要介绍一些常用命令行:

项目价格
查看git配置git config --list
获取帮助$ git help
在现有目录中初始化仓库$ git init
克隆现有的仓库$ git clone [url]
检查当前文件状态$ git status
跟踪新文件( 或者是添加内容到下一次提交中)$ git add README
查看已修改未暂存文件具体修改了什么地方$ git diff
查看已暂存的将要添加到下次提交里的内容$ git diff --staged
提交更新(先用 git status 看下,是不是都已暂存起来了)$ git commit
查看历史提交记录$ git log
查看当前有哪些分支$ git branch
创建一个名为feature的分支$ git checkout -b feature
将所有修改添加到暂存区$ git add .

参考链接:
1.https://git-scm.com/book/zh/v2
2.https://blog.csdn.net/javaandroid730/article/details/53522872

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值