使用: ~/gitEditHis.sh file code
1
2
3
4
5
6
7
8
9
#!/bin/bash
version=`git log $1 |grep commit |awk '{print $2}' `
for i in $version;
do
echo $i ;
git checkout $i;
git blame $1 |grep $2;
done
git checkout master
1.os.system 该函数返回命令执行结果的返回值,system()函数在执行过程中进行了以下三步操作: 1.fork一个子进程; 2.在子进程中调用exec函数去执行命令; 3.在父进程中调用wait(阻塞)去等待子进程结束。 对于fork失败,system()函数返回-1。 由于使用该函数经常会莫名其妙地出现错误,但是直接执行命令并没有问题,所以一般建议不要使用。
在使用ssh登录远程服务器的时候,在执行完ssh user@ip后,要输入登录密码,有时候登录密码记不住,这样以来Ian带来的很多的麻烦,有没有一种在ssh的参数中直接加入密码的方法呢?查看ssh的帮助我们发现ssh命令并不能在参数中制定密码。 usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname
利用samba解决。 在mac机上直接远程连接这个开发机(可以略过跳板机的限制):Finder中,command+k,添加服务器地址,协议使用smb://hostname。 然后在phpstorm上,打开这个远程开发机上的项目。 直接在mac的IDE上搞运行环境上的代码,不用vi,不用再手动上传到开发机,甚至不用保存(ctrl+s等操作不必,因为更改的直接就是远程机器的代码),效率很不错。 分享一段samba配置文件中,怎么分享某个文件夹。 [myshare] ;comment = my share directory path = /home/work/xxx valid users = work write list = work force user = work force group = work public = yes writable = yes printable = no create mask = 0644 当然可以配置多个分享文件夹[xxx] ,只要复制这段配置即可。 值得一提的是,force user 和 force group这个选项比较重要,如果你很在意更改文件后,这个文件的owner和group的话。