Blog

  • php数组合并merge

    来自官方示例

    $array1 = array("color" => "red", 2, 4);
    $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
    $result = array_merge($array1, $array2);
    print_r($result);
    

    数组中有的标记了下标,有的没有标记下标(索引)

    有下标的将会沿用下标,如果下标相同,则会覆盖
    没有下标的,将会从0开始索引
    值不会覆盖

    结果

    Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
  • php array-intersect取两个数组交集

    http://php.net/manual/en/function.array-intersect.php#84286

    后面的数组与第一个数组比较,返回交集是一个数组,且下标是第一个数组的下标

    $array1 = array(2, 4, 6, 8, 10, 12);
    $array2 = array(1, 2, 3, 4, 5, 6);
    
    var_dump(array_intersect($array1, $array2));
    var_dump(array_intersect($array2, $array1));
    
    

    结果

    array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(6) }
    array(3) { [1]=> int(2) [3]=> int(4) [5]=> int(6) }

  • git查看清理gitignore的文件

    查看可以清理的文件

    git clean -ndX

    确定好之后要清理运行

    git clean -fdX

    查看 clean 的 help

    $ git help clean
    
    git-clean - Remove untracked files from the working tree
    -n, --dry-run - Don't actually remove anything, just show what would be done. 测试查看哪些文件可以被删除。
    -d - Remove untracked directories in addition to untracked files. 同时清理目录
    -X - Remove only files ignored by git. 清理被 ignored 的文件
    

    参考:

    http://stackoverflow.com/questions/466764/show-ignored-files-in-git

  • git删除commit

    删除最近的一次 commit

    git reset --hard HEAD~1

    git rebase -i HEAD~1

    使用 git log 的时候看到的 sha1 的提交

    git reset --hard 

    如果不幸已经提交,则需要如下操作将提交还原

    git push origin HEAD --force

    将所有修改还原

    git reset --hard HEAD

    经过上面的操作, commit 被删掉了,你做的工作也废了

    如果你只是想要撤回提交,但并不想把工作废掉,可以使用 –soft

    git reset --soft HEAD~1

    我错删了一个文件并提交,现在需要将这次的提交恢复

    git revert c588349186b8dc3d074d64eca1408d2966a30cdc

    然后显示如下信息,我可以写下为什么要收回这次提交

    Revert "delete no use .vimrc"
    
    This reverts commit c588349186b8dc3d074d64eca1408d2966a30cdc.
    
    # Please enter the commit message for your changes. Lines starting
    # with '#' will be ignored, and an empty message aborts the commit.
    # On branch master
    # Your branch is ahead of 'origin/master' by 1 commit.
    #   (use "git push" to publish your local commits)
    #
    # Changes to be committed:
    #       new file:   ubuntu/home/jpuyy/.vimrc
    

    然后这就变成了一次新的提交,但是返回到了之前的版本.

    参考:
    http://stackoverflow.com/questions/1338728/delete-commits-from-a-branch-in-git

  • su切换用户提示资源不足

    centos下切换用户提示

    su: cannot set user id: Resource temporarily unavailable

    尝试使用ssh登陆

    ssh [email protected]
    Connection to xx.xx.xx.xx closed by remote host.
    Connection to xx.xx.xx.xx closed.
    

    检查资源限制

    /etc/security/limits.conf

    检查程序消耗

    检查连接数

     

  • 时间管理 – 给系统管理员笔记

    放开手开始做,一旦开始做,你会发现并没有你想象中的困难。事实上,我们通常不敢开始做,是因为总是借口说这会花很多时间,但是一旦开始后,我会发现做起来还相当快。

    遇到一件到来的事,有三个去向,委派,记录,执行。