git一些笔记

1、关于head

HEAD 是一个队当前检出记录符号引用,也就是指向其基础上进行工作的提交记录

HEAD总是指向当前分支的上一次提交

git checkout master^ 本地切换至master的上一次提交

git checkout C3     分离HEAD,切换至C3的提交记录

git chekcout HEAD~4   当前提交后退4步

git branch -f master HEAD~3  master分支指向C1提交

 2、撤销变更

git reset HEAD~1  # 只针对本地分支生效

git revert HEAD

before : after:

3、git cherry-pick C2

before after:

4、git rebase -i HEAD~4  #调整提交顺序

before: after :

 5、git push origin master

切到本地仓库中的“master”分支,获取所有的提交,再到远程仓库“origin”中找到“master”分支,将远程仓库中没有的提交记录都添加上去,搞定之后告诉我。

6、git push origin <source>:<destination>

git push origin foo^:master # 本地分支foo上次提交记录推送至远程master分支

git push origin master:newBranch # 本地分支master推送至远程newBranch分支

 7、git push origin :foo   、 git fetch origin :bar

git push origin :foo #表示删除远程分支foo

git fetch origin :bar # 表示本地新建bar分支,如果没有的话

8、git pull origin master:foo

before: after:

 9、git tag v1 c1 #给c1提交记录添加标签v1

10、git describe <ref>

<ref> 可以是任何能被 Git 识别成提交记录的引用,如果你没有指定的话,Git 会以你目前所检出的位置(HEAD)

输出结果:<tag>_<numCommits>_g<hash>

tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。

原文地址:https://www.cnblogs.com/ceshixuexi/p/9470235.html