如果人生能 git reset --hard


终端里躺着一行从来没敲下去的命令:

git reset --hard HEAD~1

写代码的人都知道它的意思:回到上一个版本,撤销刚才的一切。一行回车,干干净净。

但人生不认这个命令。


git stash

stash 是暂存。代码写到一半,有别的事要处理,先把这一半存起来,想着过一会儿再取出来接着写。

但生活里的 stash,存进去就很少取出来了。

那年想学的竹笛,搁在墙角落了灰。书架上那本翻到第三章的书,书签还是三年前的。手机备忘录里记了一句"改天约饭",那个改天一直没来。

不是忘了。是 stash 堆得太深,你不敢一条一条 pop 出来看。


git log --oneline

这个命令用来看历史记录——谁在什么时候做了什么改动,一行一条,按时间倒序。

回头看自己这十年,也是一行一行的:

去了那座城市
换了第一份工作
奶奶走的那天
搬家
开始失眠

每一条都短得不近人情。


git branch

branch 是分支。你可以在主干之外开一条岔路,试试看,不行再回来。

二十一岁那年你没去北京。二十五岁你没说出那句话。三十岁你没回那趟老家。

每一个"没选"都生出一条看不见的分支。那个去了北京的你、说了那句话的你、回了老家的你——他在另一条 branch 上,偶尔也会回头想:如果我当时做了另一个决定,现在会是谁在写这段字。

两条分支永远不会 merge。但你们都还活着。


.gitignore

项目里有些文件不想被版本管理——临时文件、本地配置、不想让别人看到的东西。把它们写进 .gitignore,系统就会假装它们不存在。

人也有一份 .gitignore

有些记忆你写进去了,以为忽略得够久,就等于没有。但它们还在目录深处。某个睡不着的凌晨,被一行 grep 翻出来,原封不动,连时间戳都没改。

忽略文件最大的谎言,是你以为它真的能忽略。


人生没有 git reset。没有上一个版本可以回退,没有暂存区可以翻找,没有分支可以重选。

但你还在写着。

一行一行,往更远的地方 commit。

← 回到日记列表