一周学习精选(2018-09-23)

git submodules

当你在一个项目中需要使用其他 repository 时,你可以将其源码复制到本地集成,但是这样后续该代码更新的时候就很难保持更新。一个更好的方法是使用 submodule。方便集成,同时保持一定的独立性,且易于更新。

//www.greatytc.com/p/9000cd49822c

git remote

使用 git 的时候,经常会使用依照教程使用一些关键词,比如remote, origin, master,久而久之 成为习惯,但是不知道什么意思。

$git remote
origin

"remotes":repositories whose branches you track.

http://gitimmersion.com/lab_39.html
简单概括, orign 是其中一个远程仓库(remotes)的名字,一般默认的约定俗成的远程服务器都会成为 origin,一般指 的就是 github 或者自建 git 服务器的 repo。

git remote add origin https://github.com/aaron0769/test.git
git push -u origin master

第一句指定远程分支 origin 指向什么地址。这里不一定要远程地址,也可以是一个本地的 git 目录。第二句指上传 master 分支到 origin 这个 remote,只要第一次指定即可。

参考
https://stackoverflow.com/questions/5617211/what-is-git-remote-add-and-git-push-origin-master/5617350

对git初学者来说,容易被不同命令之间操作的对象以及位置搞混,提供一个这样的图供参考。

git-transport-v1.png

来源
https://patrickzahnd.ch/uploads/git-transport-v1.png

shellcheck

https://www.shellcheck.net/
finds bugs in your shell scripts.
“shell 脚本猛于虎”,shell 脚本引发过故障已经不用多举例子了,但日常工作中有时用 shell 又能带来非常大的便利,又不得不用。shellcheck 是一个用于检查 shell 脚本中潜在问题和风险的工具,一定程度上避免可能出现的shell脚本的bug。

➜  cat test.sh
my_home=`ls ~/tmp/tmp/`
rm ~/tmp/tmp/$my_home
➜  shellcheck test.sh

In test.sh line 1:
my_home=`ls ~/tmp/tmp/`
^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang.
        ^-- SC2006: Use $(..) instead of legacy `..`.


In test.sh line 2:
rm ~/tmp/tmp/$my_home
             ^-- SC2086: Double quote to prevent globbing and word splitting.

Restful API 对于长时间任务的处理方法

Restful API 已经成为了大部分 HTTP API 的通用标准,用于处理资源的表示比较简单快捷。但 HTTP 本身是无状态的协议,对于需要较长时间执行的任务来说天然不适合处理。因此 Restfulapi 对于这类需要长时间执行的任务会通过异步的方式进行调用。在响应中,返回状态码202(accepted)和一个任务 id,用于请求方后续的查询,也可以包含其他信息例如预估时间等。

https://www.oreilly.com/library/view/restful-web-services/9780596809140/ch01s10.html

apple Shortcuts

有哪些实用有趣的 iOS 12 捷径(Shortcuts)分享? - 知乎
https://www.zhihu.com/question/295095411

iTerm 绑键小改动大方便

iTerm 是每天工作的主要界面,常常在不同的 tab 和 pane 之间切换。有时候也会在同一个窗口中用 vim 分割成不同的窗口,因此又多了一层切换。

我的方案是这样的:
cmd(Mac 下)用来可控制 iTerm 窗口的切换,ctrl 用来控制 vim 或者 shell 里面的窗口切换。然后通过修改 iTerm 默认键,实现快速的跳转,以下是我的绑定设定,你可以参考:

iTerm -> Preference -> Keys -> ‘+’新增绑定:
cmd + h/l 左右跳转不同的 tab
cmd + j/k 跳转同一个 tab 下的不同 pane(面板)

bash 下(默认)的快捷键:
ctrl + a/e 跳转一行的最前或最后
ctrl + f/b 同一行的字符前后移动
ctrl + p/n 上下行跳转

vim 中,我也修改了绑定键实现方便的跳转

"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
nnoremap <C-W> <C-W><C-W>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,098评论 0 18
  • 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git c...
    LOVE_晴天阅读 2,334评论 0 10
  • 本片内容转自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃儿阅读 4,956评论 2 88
  • 时隔四年,再次回到了c市,在脚踏入曾经待过四年的学校门口的那一瞬间,曾经的一切景象有如快进般一幕幕快速闪过,这里...
    缠回归去阅读 354评论 0 0
  • 今天上班路上看到一句话—那些被阻扰的梦想,只要你还敢追,迟早会被生活回赠以甘甜。清早的一味鸡汤。 今天学习的内容有...
    lijingfx阅读 696评论 0 0