一、背景
在调试代码的时候,每次都要通过git上传到服务器调试,实在是一件很麻烦的事情。所以对于一些微小的改动,我就直接在服务器上修改。等调试成功之后,用git reset再回退到之前的版本,后来经过老大提醒,才发现用git checkout更加简单一些,而且不用回退版本。
二、git reset回退版本
1、回退到上个版本
命令:git reset –hard HEAD^
这里的^就代表回退到上个版本。
2、回退到制定版本
命令:git reset –hard +提交版本号
解释:这里的提交版本号指的是在git log之后,commit之后的黄色哈希值。
3、为什么不选择用git reset了
## 标题 ##git reset 是回退到commit之前的版本。而我们在是在服务器上直接修改代码的,不存在commit的情况。所以用git reset显得不合适。而且这个命令容易出错,万一回退版本错误,那就不好了
三、git checkout
1、git checkout——检出,是我们的常用命令。常用来切换分支,这里介绍的是git checkout的另一种用法。
2、git checkout .
标题
作用:取消当前目录下的所有未commit之前的修改。也就是说,在我们改动代码,但是没有commit之前,我们可以使用这个命令来取消之前的修改。
3、git checkout a/abc
解释:这里的a/abc是指的目录结构。这个命令的意思是取消a目录下abc文件的所有修改内容。也就是说git checkout可以具体到某个目录下,取消修改。
四、关于配置git 简写命令
在下面的命令中,使用了一些简写,在这里说明一下:
git st # git status
git ci # git commit
git br # git branch
git co # git checkout
git mg # git merge
git line # git log –oneline
当然,你也可以直接在git中敲命令,将这些简写添加到git配置中
git config –global -e
然后,可以插入下面的配置:
复制代码
[alias]
st = status
co = checkout
br = branch
mg = merge
ci = commit
md = commit –amend
dt = difftool
mt = mergetool
last = log -1 HEAD
cf = config
line = log –oneline
latest = for-each-ref –sort=-committerdate –format=’%(committerdate:short) %(refname:short) [%(committername)]’
ls = log --pretty=format:\"%C(yellow)%h %C(blue)%ad %C(red)%d %C(reset)%s %C(green)[%cn]\" --decorate --date=short
hist = log --pretty=format:\"%C(yellow)%h %C(red)%d %C(reset)%s %C(green)[%an] %C(blue)%ad\" --topo-order --graph --date=short
type = cat-file -t
dump = cat-file -p
复制代码
这样,你也就可以使用这些简写的命令咯。下面步入正题啊。
关于配置git简写命令,参考链接:https://www.cnblogs.com/hutaoer/archive/2013/05/07/git_checkout.html
end