git主要命令(高级篇)

在接触 Git 更高级功能之前,我们先学习在你项目的提交树上前后移动的几种方法。
1、HEAD
HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。
在这里插入图片描述

HEAD -> master ->c1;

git log查看提交记录的哈希值

相对引用非常给力,这里我介绍两个简单的用法:

1、使用 ^ 向上移动 1 个提交记录。
所以 master^ 相当于“master 的父节点”。
master^^ 是 master 的第二个父节点。
详细使用方法:git checkout master^
2、使用 ~ 向上移动多个提交记录,如 ~3。
详细使用方法:git checkout heda~4,向上移动四个父节点

强制修改分支位置

我使用相对引用最多的就是移动分支。可以直接使用 -f 选项让分支指向另一个提交。例如:
git branch -f master(标记名字) HEAD~3
上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。
在这里插入图片描述

在这里插入图片描述
该命令的使用格式非常灵活,可以以自身为参照物进行移动
将bugFix标签移动到c6节点

git branch -f bugFix c6

将master标签移动到自己的三级父节点

git branch -f master master~3

撤销变更
和提交一样,撤销变更由底层部分(暂存区的独立文件或者片段)和上层部分(变更到底是通过哪种方式被撤销的)组成。我们这个应用主要关注的是后者。
主要有两种方法用来撤销变更 —— 一是 git reset,还有就是 git revert。接下来咱们逐个进行讲解。

1、git reset
git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。
在这里插入图片描述
在这里插入图片描述
虽然在你的本地分支中使用 git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦!

2、git revert
为了撤销更改并分享给别人,我们需要使用 git revert。来看演示:
对于示例,也可使用命令 git revert master
在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部