u
This commit is contained in:
41
gitignore_merge.js
Normal file
41
gitignore_merge.js
Normal file
@@ -0,0 +1,41 @@
|
||||
const https = require('https')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
console.log('\n::*** Merge remote and local gitignore files to .gitignore')
|
||||
|
||||
// 下载远程 .gitignore_global 内容,不保存中间文件
|
||||
const remoteUrl = 'https://git.tic.cc/npm/sysconfig/raw/branch/main/nixhome/.gitignore_global'
|
||||
console.log('::--- fetching remote file:', remoteUrl)
|
||||
https
|
||||
.get(remoteUrl, (res) => {
|
||||
if (res.statusCode !== 200) {
|
||||
console.error(`::--- failed to download: status ${res.statusCode}`)
|
||||
return
|
||||
}
|
||||
let globalContent = ''
|
||||
res.setEncoding('utf8')
|
||||
res.on('data', (chunk) => {
|
||||
globalContent += chunk
|
||||
})
|
||||
res.on('end', () => {
|
||||
const gitignoreLocalPath = path.resolve('./.gitignore.local.txt')
|
||||
console.log('::--- merging with local file:', gitignoreLocalPath)
|
||||
|
||||
const gitignorePath = path.resolve('./.gitignore')
|
||||
console.log('::--- into final result:', gitignorePath)
|
||||
|
||||
// 追加本地文件内容(如果存在)
|
||||
let localContent = ''
|
||||
if (fs.existsSync(gitignoreLocalPath)) {
|
||||
localContent = fs.readFileSync(gitignoreLocalPath, 'utf8')
|
||||
}
|
||||
|
||||
// 合并写入 .gitignore
|
||||
fs.writeFileSync(gitignorePath, globalContent + '\n' + localContent)
|
||||
console.log('::--- Merged successfully!')
|
||||
})
|
||||
})
|
||||
.on('error', (err) => {
|
||||
console.error('::--- download error:', err.message)
|
||||
})
|
||||
Reference in New Issue
Block a user