分类 默认分类 下的文章

git 操作方法笔记

自动补全
git --version
下载对应版本的文件:
https://raw.githubusercontent.com/git/git/v2.22.0/contrib/completion/git-completion.bash

如果你用的是 Bash shell,可以试试看 Git 提供的自动补全脚本。下载 Git 的源代码,进入 contrib/completion 目录,会看到一个 git-completion.bash 文件。将此文件复制到你自己的用户主目录中(译注:按照下面的示例,还应改名加上点:cp git-completion.bash ~/.git-completion.bash),并把下面一行内容添加到你的 .bashrc 文件中:

source ~/.git-completion.bash

保存账号密码
git config --global credential.helper store

忽略本地文件权限修改
git config core.fileMode false

tag标签
git tag xxxx [-m xxxxx]
git show xxxx
git push origin xxxx
推送本地所有标签到远程仓库
git push origin [--tags]

删除本地仓库中的文件
git rm与git rm --cached

当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
1 git rm file_path
2 git commit -m 'delete somefile'
3 git push
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m 'delete remote somefile'
git push

本地修改不提交到远程仓库

git update-index --assume-unchanged index.jsp
取消本地忽略
git update-index --no-assume-unchanged index.jsp
查看本地仓库哪些文件被加入忽略列表

恢复跟踪

git update-index --no-assume-unchanged   sp_edaijia/protected/controllers/ApiController.php  //恢复跟踪

#或者
git update-index --skip-worktree xx.php
git update-index --no-skip-worktree xx.php

如果不生效,查看是不是已经被add到暂存区,是的话需要移除暂存区再次执行以上忽略命令

git restore --staged xx.php

如果忽略的文件多了,可以使用以下命令查看忽略列表

git ls-files -v | grep '^h\ '

#查看当前标记状态:
# Windows
git ls-files -v | findstr index.jsp
# Linux/macOS
git ls-files -v | grep index.jsp

#输出以 h 开头:assume-unchanged 生效
#输出以 S 开头:skip-worktree 生效

提取文件路径,方法如下

git ls-files -v | grep '^h\ ' | awk '{print $2}'

所有被忽略的文件,取消忽略的方法,如下

git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged  

查找历史代码片段

git log -G 正则 -p
git log -s 文件名

php-fpm添加service服务

nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我们就来看一篇php-fpm平滑启动并配置服务例子。我的php是源码安装的。php-fpm在PHP 5.3.2以后的版本不支持以前的php-fpm (start|restart|stop|reload) ,那么如果将php-fpm配置成服务,并添加平滑启动/重启。
配置php-fpm.conf(vi /usr/local/php54/etc/php-fpm.conf),将pid(;pid = run/php-fpm.pid)前的;去掉。
因为编译安装php的,所以会在php目录生成很多二进制文件,找到init.d.php-fpm,拷贝到init.d下。
cp /usr/local/src/php54/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
设置权限,并添加服务
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
以后可以使用如下命令管理php-fpm了
service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload

PHP扩展的安装请先参阅PHP官方说明:
搜索有没有相关的类名或者方法名称进行,或者在下面页面以及右侧相关页面中进行查找
https://www.php.net/manual/zh/refs.compression.php

PHP安装REDIS扩展
下载地址:http://pecl.php.net/package/redis
下载与PHP版本匹配的包
安装步骤:

     tar  -zxvf  redis-2.2.8.tgz
     cd  redis-2.2.8
     /usr/local/php/bin/phpize                      #用phpize生成
    ./configure --with-php-config=/usr/local/php/bin/php-config      #配置
     make 
     make  install 

到此扩展下载安装完成,make install之后会提示扩展文件路径
配置php.ini文件,使得php可以支持redis扩展

   vim  /etc/php.ini
#最后添加这两行
[redis]
extension = /路径/redis.so

重启服务;
测试下phpinfo();现在就可以看到redis扩展支持了;

安装 zip 扩展和以上步骤是一样的,下载地址:
从 PHP 7.4.0 开始,必须在编译 PHP 时用 --with-zip 配置选项来提供 zip 支持。之前的 PHP 版本,需要使用 --enable-zip 选项。从 PHP 7.4.0 起,移除捆绑的 libzip。

从 PHP 7.3.0 开始, 不鼓励使用捆绑的 libzip 进行构建,但通过在配置中添加 --without-libzip 参数仍然可以实现。

新增 --with-libzip=DIR 配置选项以使用系统 libzip 安装。需要 libzip 版本 0.11,推荐使用 0.11.2 或更高版本。
https://pecl.php.net/package/zip

redis批量删除

redis-cli keys ewei_* | xargs redis-cli del

指定IP和端口
redis-cli [-h 192.168.0.8 -p 6380] keys "obj_base_*" |xargs redis-cli [-h 192.168.0.8 -p 6380] del

redis-cli keys "obj_base_*" |xargs redis-cli del