得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

能进就能退,能加就能减,在 git 中熟悉撤销改动的方法必不可缺,在这个全组 git 的现状下,多掌握一项技能,就多了一个装 13 的高光时刻

撤销改动,必须知道的两个工具:reset 和 revert

Read More...


一个失误导致不应该提交的代码被 commit,赶紧通过 rebase 把 commit drop 掉,可是,这个操作会将本地的改动也一并删除

怎么办,写了一个下午的 shell 脚本就这样一朝回到解放前,oh no,不应该是这样的

重写?太多了吧

我用的是 git,赶紧搜一下,一定有能够恢复 commit 的方法,commit 就 commit 吧,丢了就真的是得不偿失了

Read More...


shell 中能遇到的括号很多,本次涉及的括号有 ()、(())、[]、[[]]、{},后续遇到更多的括号再补充

在入正题之前,先说说 $ 后的一些括号

  1. ${variable} 变量 variable 的值, 在不引起歧义的情况下可以省略大括号

  2. $(command) 命令替换,和 `command` 效果相同,结果为 shell 命令 command 的输出,但是某些版本的 shell 不支持 $() 形式的命令替换, 如 tcsh

  3. $((expression))、$[expression] 和 `expr expression` 效果相同,计算数学表达式 exp 的数值,其中 exp 只要符合 C 语言的运算规则即可,三目运算符和逻辑表达式都可以计算

Read More...


su 和 sudo 的差别

接触过 shell 的人多少应该指定 su 和 sudo,当需要提权的时候,sudo 是我们常常使用的一个命令。此外,su 也应该是一个比较常听说的命令,虽然个人电脑其实还蛮少用 su 的

接触过 su 的人,应该也看到过 su - 这种写法,那这和 su 有什么区别呢?

Read More...


当你创建了一个分支之后,你在分支上做了很多 debug 的操作,但是当你合并到 master 的时候,你又只需要几个非 debug 的 commit,这时候应该怎么办呢?不得不说,git 设计的很完善,你需要的它正好有

Read More...


bash -c 的必要性

在看别人写的脚本的时候,会发现类似下面一个写法,然后就会好奇这个写法的必要性

1
$ bash -c "echo test >> test.txt"

Read More...


sed 分隔符之谜

昨天在用 sed 替换某行 python 代码的时候,遇到了下面这个错

1
2
$ sed -i 's/"http": None/"http": "http://1.1.1.1:8080"/g' ~/demo.py
sed: -e expression #1, char 36: unknown option to `s'

Read More...


the only present love demands is love