git笔记 – 修改误操作

  前二周,阅读了git官方文档,感觉还是受益良多。感叹,过去的git基础太差。还经常碰见,合并远程分支到本地分支的“诡异”情况。如,https://stackoverflow.com/questions/6406762/why-am-i-merging-remote-tracking-branch-origin-develop-into-develop

情况一: 把文件add到暂存区,并未提交时,需要取消暂存, 见图一

图一

英文好的,可以直接看到说明:“使用xxx取消暂存”
这里我们直接输入 ,效果见图二 [code lang=”php”]git reset HEAD test.php[/code]

图二

情况二:commit到本地仓库后,需要取消提交,见图三、图四

图三
图四

这里我们可以输入 ,效果见图五、图六 [code lang=”php”]git reset –soft HEAD~1[/code]tips:数字1可以省略

图五
图六

除了,可以回滚到“未提交”状态,还可以直接回滚到“未暂存”状态
[code lang=”php”]git reset –mixed HEAD~1[/code]
tips:参数”–mixed”可以省略。这里涉及到git手册中“重置揭密”的知识,个人建议:去看官方文档较好 ( https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86 )

情况三:提交代码后,发现有些文件不用提交,需要从提交记录中删除,但又不删除文件本身,如:ide生成的临时文件、测试代码等。

直接运行如下代码。如果提交代码时,需要忽略该文件,可以配置到 gitignore 中。
[code lang=”php”] git rm –cached test.php [/code]

值得学习的HTTP

  最近,花了三个星期时间,读完了这两本书:《HTTP/2基础教程》、《HTTP权威指南》。读到ssl的时候,立马跟着书上的方法,把自己的博客升到了https,有了个小绿锁,还是逼格满满。现在,准备好好的回顾下自己还记得的东西。
  首先,我看的是《HTTP/2基础教程》,主要因为这本书很薄,只有百来页。看完所需的时间周期较短,但内容却不少。里面列举了一些http/2的新特性,比如,http分层、首部压缩、多路复用、服务端推送等。还举例,说明了一些在http/1.1下面的黑魔法优化,在http/2里并不管用,可能还会更糟糕。现在的首部字段越来越臃肿,一个页面请求的连接也越来越多,首部压缩和连接复用,确实可以提高很大的性能。有些新特性,还可以减少为了优化,而做的一些琐碎事情。还避免了,队头阻塞这个大问题。
  接着,我又去看了《HTTP权威指南》。读这本书的时候,你可以明显感觉到,这本书很古老。因为,书中不止一次提到网景浏览器。我记得以前在学校的时候,老师就有提到过这个浏览器,后来是被微软的IE打败了(听说火狐就是网景的人创立的)。然后,我看了下,这本翻译版,它是在2012年9月份出版的,而原英文书,是2002年10月出版的。看书的时候,我感觉瞬间穿越回到17年前,听着前辈,滔滔不绝的讲关于HTTP方面的知识。还发现,好多http特性,都是网景公司提出来的,比如,cookie(印象最深的,其他的我忘了)。虽然,原书是17年前出版的,但书中很多的概念,仍然沿用至今。比如,负载均衡那里提到的DNS重定向(现在好像叫DNS轮询了),再比如,最近火起来的RESTful,用的就是HTTP请求方法。我不得不佩服,当初设计这套协议的大神们,一套技术,能用超过20年。相比,现在技术圈,一年一小变,三年一大变,各种新东西出来,能活多久呢?
  读完这2本书,我才真正认识到了http的魅力所在。弄明白了cgi、fast-cgi是个什么东西,搞懂了首行、请求头,响应头等概念,连带cookie 和 session 我又有了新的认知。接下来,不知道看什么书好了。。。