1、用户名和邮箱
我们知道我们进行的每一次 commit 都会产生一条 log,这条 log 标记了提交人的姓名与邮箱,以便其他人方便的查看与联系提交人,所以我们在进行提交代码的第一步就是要设置自己的用户名与邮箱。执行以下代码:
git config --global user.name "stormzhang"
git config --global user.email "stormzhang.dev@gmail.com"
以上进行了全局配置,当然有些时候我们的某一个项目想要用特定的邮箱,这个时候只需切换到你的项目目录,以上代码把 --global 参数去除,再重新执行一遍就ok了。
2、 alias
alias翻译过来就是别名的意思,输入以下命令就可以直接满足以上的需求。
git config --global alias.co checkout # 别名
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
当然以上别名不是固定的,你完全可以根据自己的习惯去定制,除此之外还可以设置组合,比如:
git config --global alias.psm 'push origin master'
git config --global alias.plm 'pull origin master'
之后经常用到的 git push origin master 和 git pull origin master 直接就用 git psm 和 git plm 代替了,是不是很方便?
3、其他配置
当然还有一些其他有用的配置,默认情况下 git 用的编辑器是 vi ,如果不喜欢可以改成其他编辑器,比如我习惯 vim 。
git config --global core.editor "vim" # 设置Editor使用vim
你们如果喜欢其他编辑器可自行搜索配置,前提是本机有安装。
有些人纳闷我的终端怎么有各种颜色显示,自己却不是这样的,那是因为你们没有开启给 Git 输出着色,输入如下命令即可:
git config --global color.ui true
还有些其他的配置如:
git config --global core.quotepath false # 设置显示中文文件名
4、 diff
diff 命令算是很常用的,使用场景是我们经常在做代码改动,但是有的时候2天前的代码了,做了哪些改动都忘记了,在提交之前需要确认下,这个时候就可以用diff来查看你到底做了哪些改动,举个例子,比如我有一个 a.md 的文件,我现在做了一些改动,然后输入 git diff 就会看到如下:
红色的部分前面有个 - 代表我删除的,绿色的部分前面有个 + 代表我增加的,所以从这里你们能一目了然的知道我到底对这个文件做了哪些改动。
5、checkout
我们知道 checkout 一般用作切换分支使用,比如切换到 develop 分支,可以执行:
git checkout develop
但是 checkout 不只用作切换分支,他可以用来切换 tag,切换到某次 commit,如:
git checkout v1.0
git checkout ffd9f2dd68f1eb21d36cee50dbdd504e95d9c8f7
# 后面的一长串是commit_id,是每次commit的SHA1值,可以根据 git log 看到。
除了有“切换”的意思,checkout 还有一个撤销的作用,举个例子,假设我们在一个分支开发一个小功能,刚写完一半,这时候需求变了,而且是大变化,之前写的代码完全用不了了,好在你刚写,甚至都没有 git add 进暂存区,这个时候很简单的一个操作就直接把原文件还原:
git checkout a.md
6、stash
git stash
什么意思呢?就是把当前分支所有没有 commit 的代码先暂存起来,这个时候你再执行 git status 你会发现当前分支很干净,几乎看不到任何改动,你的代码改动也看不见了,但其实是暂存起来了。执行
git stash list
你会发现此时暂存区已经有了一条记录。
这个时候你可以切换回其他分支,赶紧把bug修复好,然后发布。之后一切都解决了,你再切换回来继续做你之前没做完的功能,但是之前的代码怎么还原呢?
git stash apply
你会发现你之前的代码全部又回来了,就好像一切都没发生过一样,紧接着你最好需要把暂存区的这次 stash 记录删除,执行:
git stash drop
就把最近一条的 stash 记录删除了,是不是很方便?其实还有更方便的,你可以使用:
git stash pop
来代替 apply 命令,pop 跟 apply 的唯一区别就是 pop 不但会帮你把代码还原,还自动帮你把这条 stash 记录删除,省的自己再 drop 一次了,虽然更方便,但是使用起来也需要更加谨慎,为了验证你可以紧接着执行 git stash list 命令来确认是不是已经没有该记录了。
最后还有一个命令介绍下:
git stash clear
就是清空所有暂存区的记录,drop 是只删除一条,当然后面可以跟 stash_id 参数来删除指定的某条记录,不跟参数就是删除最近的,而 clear 是清空。
7、merge & rebase
我们知道 merge 分支是合并的意思,我们在一个 featureA 分支开发完了一个功能,这个时候需要合并到主分支 master 上去,我们只需要进行如下操作:
git checkout master
git merge featureA
其实 rebase 命令也是合并的意思,上面的需求我们一样可以如下操作:
git checkout master
git rebase featureA
—END—
科君干货
技能 |学习 |资源 |电影
网友评论