Linux下Git操作

一、基本命令

1、创建 git 目录(工作区)

mkdir gitcode

2、创建本地仓库,生成 .git 隐藏目录

git init

3、设置配置项

git config user.name "xxx"

git config user.email "....."

4、查看配置项

git config -l

5、删除配置项

git config --unset user.name

git config --unset user.email

6、配置项生效于所有仓库

git config --global user.name "xxx"

git config --global user.email "....."

删除也要带上 --global

二、添加要管理文件

1、理论

.git 是版本库,要把文件交给它管理,但是不允许我们手手动添加,所以一开始文件只能在工作区 gitcode目录下。

添加管理文件流程:

objects:修改的工作区文件内容全部会写入到 objects 对象库的一个新 git 对象里面,暂存区只是把索引指向了 objects 里面的一个个对象,master 也是。

add:把工作区中的修改内容加入到暂存区。

commit:将暂存区内容加入 master 分区。

所以拿到 HEAD 指针就拿到了 master 分区,就找到了一个个文件修改的对象。

2、命令

(1)添加到暂存区

git add filename...

(2)添加到 master 分区

git commit -m "这次提交的日志"

(3)查看从近到远的提交记录

git log

显示的一长串字符是哈希算法生成的 commit_id,代表一个个修改对象。

所以 HEAD 索引就是指向最近一次修改产生对象的 commid_id

(4)查看 .git 目录下文件

git cat-file -p commit_id

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
vibecoding日记3 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
十日十行3 天前
Linux和window共享文件夹
linux