• 【Git】Git的基本概念,Git的基本操作


    目录

    Git的两个特性 

    Git的记录快照

    Git的工作流程 

     Git的安装及配置

    Git的基本操作

    获取Git仓库的两种方式

     将尚未进行版本控制的本地目录转换为Git仓库

    跟踪新文件

    提交更新

    对已提交的文件进行修改

    暂存已修改的文件

    提交已暂存的文件

    撤销对文件的修改

    向暂存区中一次性添加多个文件

    取消暂存的文件

    跳过使用暂存区域

    移除文件

    忽略文件

    查看提交历史

    回退到指定的版本

    Git的两个特性 

    Git之所以快速和高效,主要依赖它的两个特性:

    1. 直接记录快照,而非差异比较
    2. 近乎所有操作都是本地执行

    传统的版本控制系统(例如SVN)是基于差异的版本控制,他们存储的是一组基本文件每个文件随时间逐步累积的差异

    Git的记录快照

    快照是在原有的文件版本的基础上重新生成一份新的文件,类似于备份

    缺点:占用磁盘空间较大

    优点:版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标的快照即可。

    特点:空间换时间。 

    Git的工作流程 

    Git的三个区域

    分别为工作区、暂存区、Git仓库 

    Git的三种状态

    已修改modified      已暂存staged       已提交committed

    基本的Git工作流程

    1、在工作区修改文件

    2、将你想要下次提交的更改进行暂存

    3、提交更新,找到暂存区的文件,将快照永久性存储到Git仓库

     Git的安装及配置

     详情可以看我这篇笔记   http://t.csdn.cn/oyPkXicon-default.png?t=M5H6http://t.csdn.cn/oyPkX检查配置信息

    1. #查看所有的全局配置项
    2. git config --list --global
    3. #查看指定的全局配置项
    4. git config user.name
    5. git config user.email

     获取帮助信息

    可以使用git help<verb> 命令 无需联网即可在浏览器中打开帮助手册,例如:

    1. #想要打开git config命令的帮助手册
    2. git help config
    3. #想要获取git config命令的快速参考
    4. git config -h

    Git的基本操作

    获取Git仓库的两种方式

    1. 将尚未进行版本控制的本地目录转换为Git仓库
    2. 从其他服务器克隆一个已存在的Git仓库

     将尚未进行版本控制的本地目录转换为Git仓库

     具体操作见我这篇笔记:http://t.csdn.cn/zYYenicon-default.png?t=M5H6http://t.csdn.cn/zYYen

     检查文件的状态 

     工作区中文件的4种状态

     可以使用git status命令查看文件处于什么状态

    举例:

    状态报告中新建的index.html文件出现Untracked files(未跟踪文件)下面。

    未跟踪文件意味着Git在之前的快照(提交)中没有这些文件。Git不会自动将之纳入跟踪范围,除非明确地告诉它:“我需要使用Git跟踪管理该文件”

    以精简的方式显示文件状态:加上-s就会显示比较简洁的方式。git status -s

    跟踪新文件

    使用命令git add开始跟踪一个文件。

    git add index.html

    跟踪后可以用git status -s来检查文件当前的状态

    提交更新

    执行git commit命令进行提交,其中-m后面是本次的提交信息,用来对提交的内容进行做进一步的描述。

    git commit -m "新建了index.html文件"

    对已提交的文件进行修改

    当文件已经被Git跟踪,并且工作区和Git仓库的index.html文件内容保持一致。当修改了index.html文件的内容后,

     查看状态,出现M,说明已跟踪的文件的内容发生了变化但是还没有放到暂存区

    暂存已修改的文件

    目前index.html已经修改,如果要暂存这次修改,需要再次运行git add命令

    提交已暂存的文件

    再次运行git commit -m "提交信息" 

    撤销对文件的修改

    把对工作区中对应文件的修改,还原成Git仓库中所保存的版本。

    git checkout -- index.html

    操作的结果:所有的修改会丢失,且无法恢复。危险性较高,谨慎操作。

     撤销操作的本质:用Git仓库中保存的文件,覆盖工作区中指定的文件。

    向暂存区中一次性添加多个文件

     git add .

    取消暂存的文件

    git reset HEAD 要移除的文件名称

    跳过使用暂存区域

    Git标准的工作流程:工作区->暂存区->Git仓库,这样较为繁琐,简化为 工作区->Git仓库

    git commit -a -m "描述信息"

    移除文件

    两种方式

    1. #从Git仓库和工作区同时移除index.js文件
    2. git rm -f index.js
    3. #只从Git仓库中移除index.css,但保留工作区的index.css文件
    4. git rm --cached index.css

    忽略文件

    一般总有一些文件无需纳入Git管理,也不希望它们总出现在未跟踪文件列表。在这种情况下,我们可以创建一个名为.gitignore的配置文件,列出要忽略的文件的匹配模式。

    文件.gitignore的格式规范如下:

    • #开头的是注释
    • /结尾的是目录
    • /开头防止递归
    • !开头表示取反
    • 可以使用glob模式进行文件和文件夹的匹配(glob指简化的正则表达式)

     例子:

    1. #忽略所有的.a文件
    2. *.a
    3. #但跟踪所有的lib.a,即便你在前面忽略了 .a文件
    4. !lib.a
    5. #只忽略当前目录下的TODO文件,而不忽略 subdir/TODO
    6. /TODO
    7. #忽略任何目录下名为bulid的文件夹
    8. build/
    9. #忽略doc/notes.txt,但不忽略doc/serve/arch.txt
    10. doc/*.txt
    11. #忽略 doc/ 目录及其所有子目录下的.pdf文件
    12. doc/**/*.pdf

    查看提交历史

    1. #按时间先后顺序列出所有的提交历史,最近的提交排在最上面
    2. git log
    3. #只展示最新的两条提交历史,数字可以按需进行填写
    4. git log -2
    5. #在一行上展示最近两条提交历史的信息
    6. git log -2 --pretty=oneline
    7. #在一行上展示最近两条提交历史的信息,并自定义输出的格式
    8. # %h 提交的简写哈希值 %an作者名字 %ar作者修订日期,按多久以前的方式显示 %s提交说明
    9. git log -2 --pretty=format:"%h | %an | %ar | %s"

    回退到指定的版本

    1. #在一行上展示所有的提交历史
    2. git log --pretty=online
    3. #使用git reset --hard 命令,根据指定的提交ID回退到指定版本
    4. git reset --hard <CommitID>
    5. #在旧版本中使用git reflog --pretty=online 命令,查看命令操作的历史
    6. git reflog --pretty=oneline
    7. #再次根据最新的提交ID,跳转到最新的版本
    8. git reset --hard <CommitID>

  • 相关阅读:
    web开发
    PHP的四层架构
    yum和vim工具的使用
    教你用Python制作BMI计算器
    【笔记】《CMS全栈项目》系列三:React+TS
    Python环境的安装及配置
    WebRTC创建客户端
    基于start.spring.io,定制你的Java脚手架
    LeetCode:两数之和
    专注芯片交易,95后创建趣买卖进军芯片市场,抢占万亿蓝海新商机
  • 原文地址:https://blog.csdn.net/qiaoyangla/article/details/125402939