Git高级用法

本文系作者扔物线之Git 原理详解及实用指南阅读笔记

一、rebase 在新位置重新提交(merge后commit 历史分叉的结构,用rebase 来代替 merge)

步骤:切换到功能分支,以master为rebase,然后再切换回master分支,merge合并branch分支

git checkout branch01 ------ git rebase master---git checkout master---git merge branch01

二、commit --amend   对最新一条 commit 进行修正

如果最新的一条commit提交的内容需要修改,可以在修改后提交时采用git commit --amend -m'注释',替换(sha1值变了,所以就是替换)掉原来的commit记录,从而两次的提交只有一条commit记录。

第一次commit时的log:

Git高级用法_第1张图片

修正后的commit:

Git高级用法_第2张图片

三、reset --hard 丢弃最新的提交

说明:在 Git 中,有两个「偏移符号」: ^ 和 ~。

^ 的用法:在 commit 的后面加一个或多个 ^ 号,可以把 commit 往回偏移,偏移的数量是 ^ 的数量。例如:master^ 表示 master 指向的 commit 之前的那个 commit; HEAD^^ 表示 HEAD 所指向的 commit 往前数两个 commit。

~ 的用法:在 commit 的后面加上 ~ 号和一个数,可以把 commit 往回偏移,偏移的数量是 ~ 号后面的数。例如:HEAD~5 表示 HEAD 指向的 commit往前数 5 个 commit。...

Git高级用法_第3张图片

你可能感兴趣的:(Git高级用法)