一、图形化查看commit远端操作
$ git log --graph --pretty=oneline --abbrev-commit
1、commit message
commit message 其实类似于代码中的注释,方便后面的同学查找、学习、Review 及寻求出现过的解决方案之用。
简洁、清晰的提交说明很是重要
比如您加了一个写草稿的功能,然后您又改了一个闪屏的 bug。在这种情况下,把两个功能分开提交会是一个不错的主意。
绝(请)不要把不相关的功能变更提到一个 commit 里。
杂糅的提交,一个最直观的问题是,我们不知道该如何写 commit message(因为做了很多操作,不容易描述清楚),有人犯懒的话可能直接只描述了其中的一个变更。这样其实就丢失了解决方案的可复用性。试想,假如半年之后,又出现了闪屏的 bug,开发同学可以从 git history 看到之前已经有人解决过,就可以从之前的解决方案中得到一些灵感。
提交时,请加上以下的几种类型:
- [feat] 添加了新功能
- [refactor] 重构
- [test] 测试
- [fix] 修复了某个bug
- [perf] 性能方面的优化
- [chore] 构建过程、打包、或辅助工具的变动
- [style] 修改了样式
- [text] 修改了文案
- [typo] 手误
- [docs] 文档
- [localize] 多语言等
二、要查看远程库的信息
$ git remote -v
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
上面显示了可以抓取和推送的
origin的地址。如果没有推送权限,就看不到push的地址。
三、git pull 和 git fetch
先用一张图来理一下git fetch和git pull的概念:
可以简单的概括为:
git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而
git pull则是将远程主机的最新内容拉下来后直接合并,即:
git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。下面我们来详细了解一下
git fetch和git pull的用法。
四、git cherry-pick
$ git cherry-pick <commitHash>
五、git stash
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit;或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
基础命令:
$ git stash
// do some work
$ git stash pop
工作中再遇到新的命令行;我会继续总结更新!👨🏻💻