git 大杂烩

1.情况一

有一个master分支里面出现了bug,所以开启了一个debug分支进行调试。找到bug后fix,之后commit,想把这个fix后的commit给master分支。

当前HEAD指向master

git cherry-pick C4


2.情况二

自己开发了几个分支,但是现在要更改commit信息,这个commit并不是最近的一个commit,可能是好久之前的了

git rebase -i HEAD~2

gc -amend -m ""

git rebase -i HEAD~2

git rebase caption master

最后让caption合并到master下面


3 上面情况的第二种解决方法

git checkout master

git cherry-pick C2

gc --amend -m ""

git cherry-pick C3


4.情况三

自己commit上标记一个tag

git tag v1 C1

git checkout v1

HEAD指针就会指向v1所在的commit


5.上一个情况的扩展

查看当前最近的tag离你相差多少个commit

git describe

ref可以是分支可以使commitid也可以没有,如果没有就是当前位置

返回结果

__g

tag:当前的名字

numCommites:离你有多少commit

hash commitid

你可能感兴趣的:(Git)