张念磊的博客

后端 - Git学习分享

2020-04-18

后端 - Git学习分享

@auther 张念磊
@date 2020/2/17

一个学习git的网站

https://learngitbranching.js.org/

1
2
3
4
5
6
7
8
9
10
11
12
13
# 基础
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次提交

image-20200218102321108

示例 : 把分支以图像的方式展现给用户

image-20200218220559729

通关截图

image-20200218225905225

主要介绍的两个命令 rebase cherry-pick

image-20200327160103150

配置别名

有没有经常敲错命令?比如git status

如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。

我们只需要敲一行命令,告诉Git,以后st就表示status

1
$ git config --global alias.st status

好了,现在敲git st看看效果。

当然还有别的命令可以简写,很多人都用co表示checkoutci表示commitbr表示branch

1
2
3
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

提交就可以简写成:

1
$ git ci -m "bala bala bala..."

--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

git log

image-20200327154624267

甚至还有人丧心病狂地把lg配置成了:

1
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的效果:

image-20200327154509668

其他操作:

连接远程仓库
git remote add origin 仓库地址

查看远程连接
git remote -v

git取消与远程仓库的连接
git remote remove origin

Tags: Git

扫描二维码,分享此文章