记录Git 中几种忽略控制的方式

忽略未追踪的文件 据我所知目前共有3种方式: 1.编写由本仓库记录要忽略内容的.gitignore文件,并将该文件加入版本控制. 这是最常见的方式,创建完一个仓库的第一件事就是把当前仓库存放的项目无关的文件或目录加入到.gitignore文件中,这些需要加入忽略的可以是编译的中间文件 或 构建结果 或 IDE相关的配置文件 或 当前平台的配置文件等,并在仓库在其他设备上拉取后也能应用相同相同的忽略配置. 2.编写本仓库仅本地要忽略内容的$GIT_DIR/info/exclude文件,此配置不会加入到版本控制. 这种方式也较常用,比如编写了一个仅本机可用的配置或某些执行脚本,但出于某些原因又不想更新或暴露在.gitignore文件中被他人所见,故可以添加到仓库配置文件夹的info/exclude文件中. 3.编写本机本用户要所有仓库都忽略的$XDG_CONFIG_HOME/git/ignore文件,此配置同样不会加入到版本控制. 这应该是最少使用的,但很这适合我这种懒人,我比较喜欢取同名的本地构建脚本,这种只需写一次就应用全局的方式让我很中意. 忽略文件的编写规则可以参见 官方指导. 忽略已追踪的文件 据我所知目前有两种方式: 1.文件仍在版本控制中,也可拉取更新,但忽略本地对该文件的修改. 使用命令 git update-index –[no-]assume-unchanged <file> [file…] 添加要被忽略或撤销已被忽略的文件. 该方式适用仓库中存在类似模板配置之类的文件,需要手动修改后才可使用的情况,且并不需要将仅适用本机的改动覆盖掉仓库的模板。 2.移除仓库中已被追踪的文件 使用命令git rm –cached <path> [path …] 即可移除仓库对文件的所有追踪历史,注意这删除的不仅仅是文件还包括对文件的所有改动历史,该操作没有后悔药,执行后便无法还原文件的历史,只能重新添加.

Read More

Linux下根据订阅源安装最新NodeJS开发环境

Ubuntu 和Debian以及CentOS这些内置源的NodeJS的版本和官方最新版差了个爷爷辈,所以需要安装新版的NodeJS要么去官方下包解压手动安装,要么找源进行安装。 本着方便的原则,当然是一键自动安装简单。因此发现了一个福利项目nodesource/distributions. 根据项目介绍.支持目前主流的Linux发行系统. 安装 RedHat系的系统包括 CentOS 和 Fedora,只需curl -sL https://rpm.nodesource.com/setup_8.x | bash -后再执行yum install -y nodejs即可. 以下是 Debian 系的安装. Node.js v8.x: # Using Ubuntu curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash – sudo apt-get … “Linux下根据订阅源安装最新NodeJS开发环境”

Read More

CentOS 7 升级node.js提示Requires:http-parser >= 2.7.0错误

之前在去年安装node.js时,yum install直接就搞定。这次虚拟机太久未登陆,于是登陆’yum update’遇到了如下错误: Error: Package: 1:nodejs-6.11.1-1.el7.x86_64 (epel) Requires: libhttp_parser.so.2()(64bit) Error: Package: 1:nodejs-6.11.1-1.el7.x86_64 (epel) Requires: http-parser >= 2.7.0 查了下,是因为CentOS 的EPEL里已经移除了Node.js而放在了REHL中。 因此需要去下载http-parser安装即可. rpm -ivh https://kojipkgs.fedoraproject.org/packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm

Read More

Synology DSM 6使用root进行SSH登录

群晖没 root 权限很不爽,网上搜了下还真找到了. 首先 Web 上登录后打开 Control Panel 切换到 Advance Mode,打开 Terminal & SNMP ,勾选 Enable SSH Service, Port使用默认的 22 号端口即可. 然后使用自己的账号 SSH 登录群晖后(必须要有管理员权限),sudo -i切换到 root 账户.打开 SSH 的配置文件/etc/ssh/sshd_config,添加PermitRootLogin yes到其中后,使用命令synouser –setpw username newpasswd修改root的密码. 最后一步就是重启 SSH … “Synology DSM 6使用root进行SSH登录”

Read More

CentOS设置IP和hostname的shell脚本

把ens32替换为当前的网卡名称即可. #!/bin/bash if [ “(whoami)” == “root” ];then echo “当前执行权限: root” else echo “当前用户:”(whoami) echo “请使用管理员权限执行脚本.” exit fi while read -p “是否设置本机静态IP,退出输入:n,设置IP输入:y [y|n]” yn do if [[ {yn} == [Nn] ]];then exit elif [[{yn} == … “CentOS设置IP和hostname的shell脚本”

Read More

Ubuntu设置IP和hostname的shell脚本

以前有段时间经常新配虚拟机搭Kubrenetes环境,于是写了个shell脚本提示性输入配置,今天翻到了发上来. #!/bin/bash # By Swire Chen if [[ (whoami) == “root” ]];then echo “当前执行权限: root” else echo “当前用户:”(whoami) echo “请使用管理员权限执行脚本.” exit fi while read -p “是否设置本机静态IP,退出输入:n,设置IP输入:y [y|n]” yn do if [[ {yn} == [Nn] ]];then … “Ubuntu设置IP和hostname的shell脚本”

Read More

升级Centos6到Centos7错误记录

入了一个HK的kvm,但是预置镜像都是老版本:centos6,debian7。因为只是为了做个DOCKER REGESTRY和扶墙,想升级下系统版本和内核,折腾了debian7无果,折腾下centos升级版本,再换内核。 网上找了一下,按照说明升级,发现已经不支持从6.x升级到最新的7.3了。 详情链接 WARNING! Do not use this method to upgrade from CentOS 6.7 or higher as several system critical packages are of a higher version number than they are in centos 7 so … “升级Centos6到Centos7错误记录”

Read More

CentOS 7 升级内核开启 BBR

有两台在美国的 VPS,带宽是千兆, 系统跑的是 CentOS 7,不过一直以来都跑不满百兆.最近看到 Linux Kernel 4.9 版本已经正式发布有段时间了,而谷歌的 BBR 流量拥塞算法已经合并到 4.9 的内核主分支中了, 就记录下升级CentOS 内核试试 BBR 的过程. 首先要有 root 或 sudo 权限. # 安装最新 Linux Kernel 的 CentOS 源 rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm … “CentOS 7 升级内核开启 BBR”

Read More

Linux下 编译libcurl

官网下载libcurl 解压 tar -zxvf curl-7.51.0.tar.gz cd curl-7.51.0.tar.gz ./buildconf ./configure make sudo make install 在./configure –enable-pthreads后,会显示默认环境下安装后能使用的功能,若是满足需求就直接make和sudo make install。 如果缺少需要的功能,则先去安装相应的环境后再编译安装curl。 eg: 若要开启SSL support和zlib support:(Centos) yum install openssl-libs openssl-devel 若要支持https需安装libssh2:(Centos) yum install libssh2-devel 若要支持PSL 验证 Cookie 和证书的 Domain … “Linux下 编译libcurl”

Read More

扩展zsh

解释器的介绍 Shell是中脚本编程语言,常见的Shell解释器有sh,ash,csh,zsh,bash,fish等等,当然用的最多的就是sh和bash. sh sh的全称是Bourne Shell,由 AT&T 公司的Steve Bourne开发,为了纪念他,就用他的名字命名了.sh是 UNIX 上的标准 Shell,很多 UNIX 版本都配有 sh.可以说sh是第一个流行的 Shell 解释器.它常见于一些嵌入式或工业定制化内核版本的Unix/Linux中,比如路由器,交换机中. bash bash由 GNU 组织开发,保持了对 sh Shell 的兼容性,并扩展了许多语法功能, 因此针对sh编写的 Shell 代码可以不加修改地在 bash 中运行.bash则是作为各种Linux发行版的默认Shell解释器,比如CentOS/Debian/Ubuntu. 虽然在很大程度上bash可以作为一个正统的Shell,但它还是太弱了,常常能感觉到在终端中使用bash时的一些繁琐步骤,比如用cd命令一层层进入一个目录时的无奈感,当然你可以用tree命令显示一下目录结构,但有时文件太多也会显得无力. 所以是时候加强它了,就像是存在有vi的加强版vim,bash同样也有加强版,还不少,比如:csh,fish这些都是它的加强版. 其实我尝试用了zsh和fish,感觉都挺好,打个比喻的话,zsh那就像是一个Vim,可高度定制;而fish则有点像是IDE,直接就能用上许多牛逼的功能.但还是选择用了zsh,并不是说fish的定制不如zsh,而是我发现了一个牛逼的开源库Oh My Zsh. Oh My … “扩展zsh”

Read More