shell技巧7 - git提高效率的一些用法

1、前言

经过前面那么多节的脚本使用技巧,相信大家一定已经掌握了基本的shell脚本编写,但是可能还是没有想明白,或者想到说平时工作生活中,有什么作用?今天,写写我自己在工作中,一些提高效率的脚本一起来看看吧~

2、git pull 更新

工作中,我们都知道,更新工作代码库:

git pull

但是,有没有想过,如果你有10个库呢?是不是要命令行切换目录输出10次?或者你有Sourcetree,在界面也要切换10次吧?

所以,有没有想过,如果用脚本,能不能一次的把全部的库,都git pull下来?想到这样,相信大家已经知道,肯定可以啊!

直接上代码(具体的代码,可参考我的Github代码:

#!/bin/bash

# 定义用到的变量
directory_path=""

# 定义读取输入字符的函数
function getDirectoryPath() {
    # 输出换行,方便查看
    echo "================================================"
    # 监听输入并且赋值给变量
    read -p " Enter directory path: " directory_path
    # 如果为空值,从新监听
    if test -z "directory_path"; then
        getDirectoryPath
    else
        read_dir ${directory_path}
    fi
}

function read_dir(){
    for file in `ls $1`       #注意此处这是两个反引号,表示运行系统命令
    do
        if [ -d $1"/"$file ]  #注意此处之间一定要加上空格,否则会报错
        then
            #在此处处理目录即可
            echo "-----------------------------\n"
            echo "check directory:《" $file "》"
            echo "message:"
            cd $1"/"$file
            git pull
            echo "\n"
        fi
    done
}   


#读取第一个参数
getDirectoryPath

echo "\n------- finish processing -------"

使用方法非常简单,执行脚本,输入在你所有库的根目录,然后脚本会循环所有目录git pull。当然,如果是公司电脑,那你可以用别名alias定义一个通用命令来执行,明天早上上班,执行一下,效率满满的!!!

3、git clone 下载

有时候,你换了新电脑,或者像我不小心,电脑挂了,重装系统,新的电脑,需要一个一个库的拉取下来,这时候,你也可以写一个脚本来统一执行:

#!/bin/bash

git clone https://github.com/iHTCboy/OneMindMap.git;
git clone https://github.com/iHTCboy/NotesEveryDay.git;
git clone https://github.com/iHTCboy/macOSConfig.git;

编写自己的库或公司库脚本,放到git仓库,是不是又学到一招!

4、git commit

这个大家应该想到了吧?可以放到 .bash_profile.zshrc 当成一个别名使用:

function glazy() {
    git add .
    git commit -a -m "$1"
    git push
}

使用方法很简单:
glazy 'XXXX' 就可以一步到位:

➜  iShell git:(master) ✗ glazy 'shell技巧6 - iOS最大构建版本文件大小'
[master 15a0b97] shell技巧6 - iOS最大构建版本文件大小
 1 file changed, 72 insertions(+)
 create mode 100644 Shell/calculate_Mach-0__Text-Size .sh
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 1.52 KiB | 1.52 MiB/s, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/iHTCboy/iShell.git
   6f39dfe..15a0b97  master -> master

5、备份文件

为了避免数据掉失,我会经常定时备份博客的文档,如果需要人工手动,重复,反复,一个一个,切换目录,其实,写一个脚本就搞定:

#!/bin/bash

blog_dir="/Users/HTC/Documents/Personal/P-Project/iHTCBlog/source/"
backup_dir="/Users/HTC/Documents/Personal/P-Project/macOSConfig/iHTCboy_Blog/"

# copy files
cp -r "${blog_dir}" "${backup_dir}"

# delete drafts file
rm -rf "${backup_dir}/_drafts"

当然,为了方便,不可能每次都打开终端才执行,如果Mac或Linux,可以用 Unix 可执行文件,直接点击,会自动打开终端执行。

比如脚本叫 backup_sh.sh 改为 backup_sh 名字,然后在终端为文件添加可执行权限:
chmod +x /Users/HTC/Desktop/backup_sh

以后,直接双击backup_sh这个文件,就会自动在终端执行,备份完成!

注:其它方法可参考 shell技巧1 - 生成ipa文件 | iHTCboy's blog 第5小节。

6、总结

关于shell脚本就讲到这里,更多技巧和提交效率的方式,希望大家能举一反三,这都是授鱼不如授渔!

参考


  • 如有疑问,欢迎在评论区一起讨论!
  • 如有不正确的地方,欢迎指导!


注:本文首发于 iHTCboy's blog,如若转载,请注来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358