git 技能补充

前面已经写过这是一篇成为 git 高手的文章 , 这篇文章是补充几个经常使用的命令。git

看过前面的文章可能注意到,有些命令是否是很长,好比:bash

git log --graph --decorate --all 
复制代码

这么下是很累吧,那有没有办法能够简化呢? 固然能够,这里使用别名的方式,通常 安装 git 后默认会有一个全局 gitconfig 文件,它的位置post

cd ~/

复制代码

咱们可使用fetch

cat ~/.gitconfig 查看内容
复制代码

能够看到笔者将经常使用的几个指令进行了简化,好比 checkout 简化为 co 等等 ui

那么你就可使用, git fetchall 来拉去远程代码仓库。spa

经过 git lgall 查看全部的分支树3d

你能够直接使用个人:code

[user]
	name = your name
	email = your email address
[alias]
	co = checkout
	br = branch
	ci = commit
	st = status
	last = log -1 HEAD
	fetchall = fetch --all -p
	ap = "add -p "
	lgall = log --decorate --all --graph
[color]
	ui = auto

复制代码

接下来还有一个命令,甩锅命令。就是当你和你的同事之间由于一段代码吵的不可开交的时候,这个命令就起做用了,它能让有的人尴尬,有的人开心。这个命令是 blame, 来看使用吧!cdn

git blame 指定的代码文件

复制代码

这里执行 git blame 123.txt, 能够看到建立者是谁,提交者是谁。看到这儿你还敢说不是你写的代码吗?blog

另外还有一个 reset 命令,不少人喜欢用这种方式切换分支。这种方式切换分支是不对的,最好采用 checkout, 由于 reset 的做用是用来将当前添加到本地代码仓库的文件从新回到未提交状态,当前你用做切换分支的实惠,若是切换回退的某一个文件和你当前版本的某一个文件内容不一样,这个时候就会致使问题。

这里能够看到,咱们添加了一个文件 readme.md

那若是这时候不想提交这个文件,咱们能够将其 reset 到 add 的状态。

git reset HEAD readme.md
复制代码

那切换分支是怎么操做呢?可是尽可能不要这么操做。

git reset 3eaa2cb8105498bfcee9806ea496d80b43a32cd8

复制代码

另一个命令就是 bug 的查找和定位啦! git 提供了二分查找。其实它的远离很简单,就是将代码的提交历史,按着二分法不断缩小定位。

既然是用到二分查找,必然要有起点和终点

git bisect start [终点] [起点]
复制代码

若是执行了, 就会将当前的 HEAD 执行中间的一次结果。这个时候你就能够经过查看当前的版本是否有问题,若是没有问题就执行 git bisect good, 这个就会将 HEAD 指向新的提交。

git bisect start HEAD 5df2ffb37f131f93fc1db775e1a7dd36674814c9
复制代码

若是遇到当前的分支有问题,那么就执行

git bisect bad
复制代码

最后使用

git bisect reset 退出查错,回到最近一次代码提交
复制代码
相关文章
相关标签/搜索