后端 - Git学习分享
文章目录
@auther
张念磊
@date 2020/2/17
一个学习git的网站
https://learngitbranching.js.org/
# 基础
git checkout -b hotfix # 新建一个分支
git checkout C2 # 分离head
git branch -f master C2 # 将分支指向提交C2
git branch -f master HEAD^ # 将master指向HEAD的上一个节点
git branch -f master HEAD~3 # 将master指向HEAD的前面第三个节点
git reset Head^ # 撤销一次本地提交
git revert HEAD^ # 撤销一次远程提交
git rebase master # 改变代码提交的顺序
git cherry-pick C2 C3 # 将C2 C3次提交添加到当前分支 git cherry-pick 'commit id' # 复制一个特定的提交到当前的分支
git rebase -i HEAD~4 # 交互式rebase最近的4次提交
示例 : 把分支以图像的方式展现给用户
通关截图
主要介绍的两个命令 rebase cherry-pick
配置别名
有没有经常敲错命令?比如git status
如果敲git st
就表示git status
那就简单多了,当然这种偷懒的办法我们是极力赞成的。
我们只需要敲一行命令,告诉Git,以后st
就表示status
:
$ git config --global alias.st status
好了,现在敲git st
看看效果。
当然还有别的命令可以简写,很多人都用co
表示checkout
,ci
表示commit
,br
表示branch
:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
提交就可以简写成:
$ git ci -m "bala bala bala..."
--global
参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。
git log
甚至还有人丧心病狂地把lg
配置成了:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
来看看git lg
的效果: