Git 常用命令详解
1. 修改提交信息
git commit --amend
修改最后一次提交的提交说明。适合修正提交信息或补充文件。
2. 工作区与版本库
-
工作区 (Working Directory)
包含.git
目录的地方称为工作区,即开发人员工作的本地目录。 -
版本库 (Repository)
.git
目录内保存了版本控制的元数据和对象数据库。
3. 使用 git rev-parse
查看路径信息
-
git rev-parse --git-dir
显示版本库.git
目录的具体位置。 -
git rev-parse --show-toplevel
显示工作区的根目录路径。 -
git rev-parse --show-prefix
显示当前目录相对于工作区根目录的相对路径。 -
git rev-parse --show-cdup
显示从当前目录回退到工作区根目录需要的路径深度(../
形式)。
4. 配置文件的区别
-
git config --global
配置当前用户的全局 Git 设置,存储在用户主目录下的~/.gitconfig
文件中。 -
git config --system
配置系统级的 Git 设置,存储在/etc/gitconfig
文件中,对所有用户有效。
5. 修正作者和提交信息
git commit --amend --allow-empty --reset-author
修改最后一次提交的作者信息和提交说明,即使没有文件改动。
6. 查看完整日志信息
git log --pretty=full
显示完整的日志信息,包括作者、提交者、日期和完整的提交说明。
7. 工作区与暂存区:
HEAD 相关操作
-
HEAD^
或HEAD~1
指向最近一次提交的父提交。 -
HEAD^^
或HEAD~2
指向HEAD^
的父提交,即向上两次的提交记录。 -
HEAD^{tree}
指向某次提交的树对象(Tree Object),通常用于查看提交对应的文件结构。
Git Reset 使用详解
-
git reset HEAD
将暂存区中的修改(由git add
添加)撤销,但不影响工作区的修改内容。 -
git reset -- <file>
撤销指定文件<file>
的暂存状态,相当于撤销对该文件的git add
操作。 -
git reset --soft HEAD
撤销最近一次的提交(git commit
),将内容保留在暂存区,不影响工作区。
撤销提交
git commit --amend
等效于以下两步操作:git reset --soft HEAD^
:撤销最近一次提交,但保留内容在暂存区。git commit -m "xxx"
:使用新的提交信息重新提交。
分离头指针状态 (Detached HEAD)
分离头指针状态指的是 HEAD
指向了一个具体的提交 ID,而不是一个分支(引用)。
- 在这种状态下,可以查看或操作某次特定的提交,但不能直接在当前分支上提交新的更改。
进入分离头指针状态的示例
Git Merge
git merge <branch>
将指定分支<branch>
合并到当前分支。
合并类型:
-
快进合并 (Fast-forward)
当前分支与目标分支无分叉,直接将当前分支指针移动到目标分支的位置。 -
普通合并 (Recursive Merge)
两分支有分叉,Git 会创建一个新的合并提交。
在GITK中,黄色为tag, 绿色为分支名称。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix