Daily 9/27 Git 相关知识点

学习

Bash history

编辑文件.bash_profile

HISTFILESIZE=100000

重启下终端,看看~/.bash_history 是不是就可以存储更多的历史命令了。

Git tag

补打标签

git tag -a v1.2 9fceb02

分享标签

git push origin [tagname]

Git stash

多个分支共享 stash list, 为什么git stash apply时不区分分支。

今天碰到的一问题,git stash完美解决问题: 我在 dev 分支上更改了一个小 bug,我需要把这个升级到线上,但是 dev 分支上正在进行项目 A 的开发很久了,没办法直接把 dev 上线,怎么办? 只有先git stash储藏起来,然后切换分支,通过git stash apply 应用到切换后的分支即可,然后把提交,上线新分支。切换回 dev 继续开发项目 A

Git checkout revert reset

代码回滚:Reset、Checkout、Revert 的选择 好详细的介绍

代码合并:Merge、Rebase 的选择 git rebase 黄金法则

有没有别人正在这个分支上工作?

Git rebase

Git-rebase 小筆記 介绍各种 rebase 详细技巧

修正 commit 過的版本歷史紀錄 Part 5 实战 Rebase 能做的事

Git tree

show a Git tree in terminal

git log --graph --oneline --all

配置 git tree

git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit"

Git push -f

Git 回滚远程版本 真的想不到这个都可以,太强大了

git log
git reset --soft ${commit-id}
git stash
git push -f

Git log

一直以来对于 git log –graph 有一种似懂非懂的感觉。 来自 Git Community Book 中文版 - 查看历史 - Git 日志 提到日志排序的几种

  • 逆时间顺序 (reverse chronological): 默认情况下为这种方式
  • 拓扑顺序 (–topo-order): 子提交在他们的福提交前显示,这种方式会看到”开发线“(development lines) 都会集合在一起
  • 提交日期顺序

Talk is cheap,Show me the code or money~

最后修改 February 7, 2021 : doc: 整理daily日记 (0dcc57d)