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 等效于以下两步操作:
    1. git reset --soft HEAD^:撤销最近一次提交,但保留内容在暂存区。
    2. git commit -m "xxx":使用新的提交信息重新提交。

分离头指针状态 (Detached HEAD)

分离头指针状态指的是 HEAD 指向了一个具体的提交 ID,而不是一个分支(引用)。

  • 在这种状态下,可以查看或操作某次特定的提交,但不能直接在当前分支上提交新的更改。

进入分离头指针状态的示例

 
git checkout <commit-id>

Git Merge

  • git merge <branch>
    将指定分支 <branch> 合并到当前分支。

合并类型:

  1. 快进合并 (Fast-forward)
    当前分支与目标分支无分叉,直接将当前分支指针移动到目标分支的位置。

  2. 普通合并 (Recursive Merge)
    两分支有分叉,Git 会创建一个新的合并提交。


在GITK中,黄色为tag, 绿色为分支名称。


 

 


 

posted @   山村放羊娃  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示