在NodeJS上使用git生成代码

时间:2015-02-02 21:51:44

标签: node.js git code-generation

我有一个问题,Git忽略了我的服务器在本地仓库中做的自动更改。我有一个生成器,它生成一个代码并将其存储在名为“generated /”的文件夹中。我正在使用NodeJS,编写文件的过程由:

完成
fs.WriteFileSync();

根据文档这个功能:

  

同步将数据写入文件,替换文件(如果已存在)。数据可以是字符串或缓冲区。

“generated /”文件夹里面有一个git repo,在每个代码生成结束时它会自动调用:

git add -A
git commit -m "message"
git push

这是假设将生成的代码推送到远程存储库。但事实并非如此。由于某种原因,它总是落后一代。如果我在第1代生成代码并推送它,则不会将任何更改推送到repo。如果我在第2代中再次生成,则第1代的更改将被推送到repo。它总是落后一代。

我的猜测是因为我使用的函数替换了文件而Git最初并不知道它只是推送旧的更改。一旦我打电话给另一代人,Git终于知道在第一代代码中做了一些改动并推动了那一代。

我希望我的描述是正确的。有谁知道如何解决它?我想我需要让Git知道文件被替换但我不知道如何。

请帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以找到所有未跟踪的文件并添加它们,

for i in `git ls-files --others --exclude-standard`
do
git add $i
done

或仅更改文件

for i in `git diff --name-only`
do
git add $i
done

继续你的提交和推送。