Git知识点总结(一) --- 基本概念与查询操作


目录


基本概念

特性

1.Git是一个分布式版本控制系统,能让使用的每个人电脑上都有一个完整的版本库。不同于 集中式的版本控制系统 ,若中央服务器瘫痪,所有人都无法工作。

2.原子性提交:类似于数据库的事务处理,每一个提交都是由多个文件的修改组成,要么全部提交成功,要么全部失败。能让项目比较容易的恢复到某个时间戳。


分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。


三个工作区域

工作空间,暂存区,本地仓库

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

  • 工作区:就是你在电脑里能看到的目录,是实际存在的目录

  • 暂存区:这里面存放了工作区文件的快照

  • 版本库:工作区有一个隐藏目录.git,是Git的版本库,里面是提交的结果。

文件的状态变化周期

Git 下文件生命周期图。

文件状态可用git status进行查看

  • 未跟踪(Untracked):文件即未跟踪的文件,添加文件到暂存区后,便会自动跟踪文件
  • 已暂存(Staged):表示把已修改的文件放在下次提交时要保存的清单中。
  • 已修改(Modified):表示修改了某个文件,但还没有提交保存;
  • 已提交(Commit):表示该文件已经被安全地保存在本地数据库中了;




查询操作

  • 查看配置信息

    • git config --global --list 用户配置
    • git config --system --list系统配置
    • git config --local --list仓库配置
  • 查看当前文件状态

    • 使用git status命令
  • 查看当前分支的提交历史和分支合并图

    • git log
    • git log --stat 显示更加详细的信息
    • git log --graph 可视化你的提交图
    • git log --pretty=format:'%h : %s' --graph: 简略显示
# 使用下指令可以将显示内容美化,并且给指令起一个别名
$ git config --global alias.mlog 'log --pretty=format:"%C(auto)%h %ad | %C(auto)%s%d  %Cblue(%an)" --graph --date=short'
# 以后每次使用只需执行
$ git mlog

上述代码来源于1

  • 显示当前分支的最近几次提交

    • git reflog
  • 仓库图形管理界面

    • gitk
  • 不同的差别比较

    • git diff比较的是工作区和暂存区的差别

    • git diff –-cached 比较的是暂存区和版本库的差别

    • git diff HEAD 可以查看工作区和版本库的差别

    • git diff <branch1> <branch2>比较两分支

    • git diff <file1> <file2>比较两文件

    • –stat 参数可以统计一下有哪些文件被改动,有多少行被改动


引用

猜你喜欢

转载自blog.csdn.net/u011291916/article/details/81417439