git操作
转换分支比较简单的用法
1)使用 ^(键盘6) 向上提交一个记录
2)使用 ~<num> 向上移动多个提交记录 如~3
分支强制移动
1)git branch -f main HEAD~3 强制将main移动到Head的前3节点
撤销变更
1)Git Reset HEAD~1 向上移动一个节点,这样我们的本地代码库就根本不知道有C2这个提交了 (但是这种方式在大家一起使用的远程分支上是无效的)
2)git revert HEAD 执行了该方法后,会出现如下情况,在我们要撤销的提交记录后面居然多了一个新提交!这是因为新提交记录 C2'
引入了更改 —— 这些更改刚好是用来撤销 C2
这个提交的。也就是说 C2'
的状态与 C1
是相同的。
复制分支
删除某些提交
git rebase -i HEAD~4
标签
git tag v1 c1
一个能够帮助我们在提交历史中移动了多次以后找到方向
git describe
的语法是:
git describe <ref>
<ref>
可以是任何能被 Git 识别成提交记录的引用,如果你没有指定的话,Git 会以你目前所检出的位置(HEAD
)。
它输出的结果是这样的:
<tag>_<numCommits>_g<hash>
tag
表示的是离 ref
最近的标签, numCommits
是表示这个 ref
与 tag
相差有多少个提交记录, hash
表示的是你所给定的 ref
所表示的提交记录哈希值的前几位。
当 ref
提交记录上有某个标签时,则只输出标签名称
远程仓库操作
1)git clone
2)git fetch
3)git pull 操作 实际上就是git fetch 和 git merge的缩写
4)git push 将本地库的代码与远程库代码合并