Git入门和使用

一、git是什么?

git简单来说就是一款功能强大容易使用的版本管理控制工具。

若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在学习 Git 时,请尽量理清你对其它版本管理系统已有的认识,如 CVS、Subversion 或 Perforce, 这样能帮助你使用工具时避免发生混淆。尽管 Git 用起来与其它的版本控制系统非常相似, 但它在对信息的存储和认知方式上却有很大差异,理解这些差异将有助于避免使用中的困惑。


二、git的三种状态

Git 用三种形式表示文件的状态,已修改(modified) 已暂存(staged)、已提交(committed)

  • 已修改表示修改了文件,但还没保存到数据库中。

  • 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

  • 已提交表示数据已经安全地保存在本地数据库中

这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。

工作目录、暂存区域以及 Git 仓库。

工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。

基本的 Git 工作流程如下:

  1. 在工作区中修改文件。

  1. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。

  1. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

如果 Git 目录中保存着特定版本的文件,就属于 已提交 状态。 如果文件已修改并放入暂存区,就属于 已暂存 状态。 如果自上次检出后,作了修改但还没有放到暂存区域,就是 已修改 状态。在 Git 基础open in new window 一章,你会进一步了解这些状态的细节, 并学会如何根据文件状态实施后续操作,以及怎样跳过暂存直接提交。


三、git保证完整性

Git 中所有的数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。 这个功能建构在 Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损坏文件,Git 就能发现。

Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组成的字符串,基于 Git 中文件的内容或目录结构计算出来。 SHA-1 哈希看起来是这样:

24b9da6552252987aa493b52f8696cd6d3b00373

Git 中使用这种哈希值的情况很多,你将经常看到这种哈希值。 实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。


四、git的安装和使用

  1. 不同系统的安装方式

windows安装:进入网站https://git-scm.com/下载安装,然后在cmd命令行配置

安装直接下一步就好,如果不想装在c盘就自己选择就好。

ubuntu配置:apt-get install git

centos配置:yum install git


2.初始化git

第一步:安装完成之后可以打开cmd窗口输入以下命令配置你的全局用户名信息

git config --global user.name "用户名"
git config --global user.email "邮箱"

配置成功之后可以输入命令查看配置信息

git config --list

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users\$USER )的 .gitconfig 文件。

你可以通过以下命令查看所有的配置以及它们所在的文件:

git config --list --show-origin

3.创建一个git目录体验一下流程

自己可以在桌面创建一个文件夹作为本地目录,之后进入文件夹鼠标右键点击---》git bash here

// 初始化 仓库
git init

// 添加一个文件
touch a.txt
echo 123> a.txt

// 提交至缓存区(添加多个可以使用命令 git add .)
git add a.txt

// 提交到本地仓库
git commit -m '版本描述信息'

4.基础命令
//查看git当前的状态(修改或暂存和提交)
git status

//将修改的文件添加到暂存区
git add 指定文件名 或者 使用.(表示多个文件)

//将缓冲区的内容提交到git仓库
git commit -m '版本描述信息'

如果代码报错:git上传代码报错

-The file will have its original line endings in your working directory,

原因是因为文件中换行符的差别导致的。

这里需要知道CRLF和LF的区别:

windows下的换行符是CRLF而Unix的换行符格式是LF。git默认支持LF。

上面的报错的意思是会把CRLF(也就是回

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值