给大家分享一个好玩的小工具 – 如何让你的Mac自动同步代码
相信大家在开发过程中肯定是并发运行多个需求。也相信大家一定会被频繁的同步远程分支代码搞的焦头烂额。
有的时候由于过度的投入到开发中,时间长了忘记了同步线上代码
这项操作,等到上线的时候,啧啧啧~那个酸爽,各种解决冲突,而且还可能导致需求重新测试,不仅浪费了自己的时间,也会导致需求延期,更重要的是可能影响到你的 money
。😁
闲言少叙,开始进入正题吧!
1. 获取代码功能
由于本功能使用 node
开发,先介绍下基本的依赖项
1.1 依赖模块介绍
fs模块
:用于日志记录spawn模块
:用于执行shell命令
和git命令
确定依赖之后,我们先将两个模块引入
栗子🌰:
const fs = require('fs')
const spawn = require('child_process').spawn
1.2 确定项目目录和日志文件
完成依赖引入之后,我们需要确定项目的目录地址。以便于正确获取代码。这里需要先确定两个内容
-
项目路径:
如:/Users/dev/test 项目,我们需要确定它位于 /Users/dev 这个目录下。
-
日志文件地址
为了方便查看和提醒,所以我将文件放置在了桌面上。/Users/username/Desktop/代码出现问题-请及时查看.txt
栗子🌰:
const rootDir = '/Users/dev'
const logFile = '/Users/username/Desktop/代码出现问题-请及时查看.txt'
注意:这里的rootDir
一定要使用全路径。不知道全路径的可以通过命令行进入到项目中,然后执行pwd
获取项目全路径
1.3 添加项目和分支
在此之前,我们确定了使用的模块和项目目录、日志文件地址。现在我们需要添加一项配置,确定我们要同步的 项目
和 分支
内容
由于配置比较简单,这里直接上栗子:
const pullConfig = [
{
dirName: 'test',
branchList: [
'branch-test1',
'branch-test2'
]
}
]
说明:
dirName
:表示我们的项目文件夹。branchList
:表示此项目下的需要同步的分支
1.4 同步代码
前面的操作我们把依赖和配置项都做好了,下面,开始真正的同步代码操作。
首先我们需要遍历 pullConfig
这个配置项,获取到需要同步的项目和分支。
🌰:
pullConfig.forEach(item => {