再说 vendor 目录进不进版本控制

先说结论:不进 官方的指导是不进,如果非要进有如下四个方法 尽可能使用已经发布的包,这样可以使用tarball的方式来更新。 在composer.json中指定preferred-install为dist或者更新的时候带上–prefer-dist参数 在提交git/svn之前,删除掉所有.git目录 在项目的.gitignore中加上/vendor/**/.git 为什么我又来发这个了呢,因为我踩到坑了啊,由于使用了private package在composer.json中加了repositories,结果vendor下这些内容都成了submodule,但是远端的并不会更新,所以这是一个很严重的问题。 至于以后的部署问题,我还要再梳理一下。

还是不要全局 .gitignore 了

昨天踩了一个小坑,使用bower安装了一堆的组件进来,我这里是好的,但是同事去构建的时候就不对了。 发现我git commit的时候,jQuery包里的dist目录没有添加进去,进而发现实际是我在很久以前在~/.gitignore里添加了一个dist导致彻底忽略了。 索性就把这个家目录下的.gitignore给删除了,反正都是跟着项目走的,新建git repo的之后添加一个.gitignore就好了。

解 git submodule 无映射路径的问题

我们在使用Git submodule 的过程中我遇到的一个问题是执行git submodule update之后会出一个错误 fatal: no submodule mapping found in .gitmodules for path ‘vendor/predis/predis’ 这个问题就是你发现有一个不在.gitmodule文件中的submodule在更新,解决办法就是 git ls-files –stage | grep 160000 这可以看到你所有的Submodule文件,然后 git rm –cached PATH Problem solved. REF: No submodule mapping found in .gitmodule for a path that’s not a submodule

oh-my-zsh 总是很慢

从csh切换到zsh已经很久了,但是有时候他会很慢,甚至是在ctrl+c的时候,看了一下,主要的时间都是去检查git状态了,反正这个功能不是特别需要,就关掉好了。 git config –add oh-my-zsh.hide-status 1 Ref: oh-my-zsh slow, but only for certain Git repo