git最基本的流程
1.创建工作目录,对工作目录进行修改 (写代码开发)
2.git add ./
里面包括
git hash-object -w 文件名(修改了多少个目录中的文件,此命令就要被执行多少次)
git update-index .....
3. git commit -m "这里写注释"
里面包括
git werite-tree
git commit-tree
执行顺序:工作目录 -> 版本库 -> 暂存区
一个文件对应一个git对象(git是增量的,不是覆盖的,有一句话:git是绝对安全的)
一.基础命令
返回哈希值
1.查看文件列表以及属性:ll
2.创建文件:echo '我是内容' > test.txt
3.查看文件类型:file fileName
4.输出所有文本内容:cat fileName、cat -n fileName (文本加上行号)、cat -b fileName(文本内容非空行加上行号)
5.查看目录文件:find url (例如: find ./)
6.平铺当前目录下所有文件:find ./ -type f
7.进入文本编辑模式:vim fileName
linux提供了常用快捷键
I:进入插入模式 ,可以编辑当前文本
ESC:推出插入模式
X:删除当前光标所在的字符
D:删除当前光标所在的行
U:撤销上一步操作
Ctrl + R:取消上一次的撤销
o:从光标所在行的下面创建新的一行并进入插入模式输入
O:从光标所在行的上面创建新的一行并开始输入
yy:复制一行,前面加上数字代码复制多少行,如复制3行:3yy
dd:剪切一行,前面加上数字代码剪切多少行,如复制3行:3dd
p:粘贴一行,粘贴再光标的下一行
:(冒号) + 命令:底部命令
:wq:保存退出编辑模式
:w:保存但不退出 (:w! 为强制保存)
:w: fileName 另存为
:q:不保存退出
:q!:强制保存
:e!:放弃所有修改,从上次保存文本开始在编辑
二.常用命令
1.gti init 初始化仓库
2.git add ./ 将修改添加到暂存区(已跟踪:(已提交、已修改、已暂存))
3.git commit -m “这里是注释” 将暂存区提交到版本库
4.git commit -a -m 跳过暂存区
三.其他
1.git version 查看git安装版本
1.git status 检查当前文件状态 (确定当前文件属于什么状态(已跟踪、未跟踪))
2.git ls-files -s 查看暂存区内容
3.git hash-object -w 文件名 文件生成git对象(blob文件)
4.git cat-file -p xxxxx(哈希) 查看git内容
5.git diff 查看哪些修改还没暂存
6.git diff --cached 或 git diff -staged 查看哪些修改已经暂存但还未提交
7.git log 查看历史记录
四.git目录说明
hooks
目录下存储了许多钩子文件(一些脚本),这些文件是各种 Git 命令使用的自定义脚本,可以在Git 特定阶段自动执行,例如:提交 (commit)、变基 (rebase)、拉取 ( pull ) 操作的前后执行。运行 git init 时会安装一些示例钩子,但是默认情况下它们都被禁用。如果要启用,需要删除文件.sample后缀。
info
存储库的其他信息将记录在此目录中。
info/exclude : 忽略指定模式的文件,和 .gitignore 类似,但是 .gitignore 是针对每个目录的。
object
Git 是一个内容寻址文件系统,Git 的核心部分是一个简单的键(哈希)值对数据库(key-value data store)。 你可以向 Git 仓库中插入任意类型的内容,它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容。
简单理解就是:objects 目录是 Git 的数据库(键值对数据库,可以想象为 map[key] = value 的形式),根据 key 来存取内容,key 即为 SHA1计算后的值。该目录下存储有三种对象(最多):数据对象(blob object)、树对象(tree object)、提交对象(commit object)。
refs
里面包含每个分支的head,以及所有的tag。同时可以看到main分支的文件里面,仅仅记录了一个提交对象的hash值。
config
存储当前仓库的配置信息。git 的配置文件分为三层,分别是:
/etc/gitconfig 文件:系统上每一个用户及他们仓库的通用配置;
~/.gitconfig 或 ~/.config/git/config 文件:当前用户的仓库配置;
.git/config 文件(当前仓库下):当前用户当前仓库的配置;
description
用于在 GitWeb 中展示项目的描述信息。默认内容如下:
Unnamed repository; edit this file 'description' to name the repository.
HEAD
存储 HEAD 指针,指向当前分支,即:记录当前活动分支。
index
暂存区(stage),二进制文件。
logs
保存所有更新的引用记录。其目录结构如下:
├── HEAD
└── refs
├── heads
│ ├── dev-branch
│ └── master
└── remotes
└── origin
├── dev-branch
└── master
其中,HEAD 记录所有更改记录,包括切换分支,logs/refs 下存储本地和远程分支的更改记录。
标签:文件,常用,Git,object,fileName,git,linux,目录 From: https://www.cnblogs.com/liangp/p/17400315.html