.gitignore中的语义UI

时间:2015-09-12 12:30:56

标签: git semantic-ui

我最近开始尝试使用语义UI。我在一个我保留在git repo中的项目中使用它。

我将语义文件添加到项目根目录中的 semantic 文件夹,其中包含所有默认设置。我稍后可能会也可能不会更改这些设置。

我的问题是,如何正确地将文件夹添加到git?如果可能的话,我不想添加稍后可以使用gulp重建的文件。我应该添加哪些文件以及我应该忽略哪些文件?

2 个答案:

答案 0 :(得分:8)

我最终部分关注@ fstanis在How can I separate generated artifacts from the main build with semantic UI?的答案,由@poke链接。

我保持

  • semantic.json
  • 语义/ SRC /
  • semantic / gulpfile.js (因为我在项目的其他地方没有使用gulp

我忽略了

  • 语义/ DIST /
  • semantic / tasks / ,因为它与 node_modules / semantic-ui / tasks 完全相同,因此可以复制

我还按如下方式扩充 semantic / gulpfile.js 以检查是否存在语义/任务,如果没有则将其复制到那里。

/* Very top of semantic/gulpfile.js */
var fs = require('fs-extra'); // Used for recursive copying
var path = require('path');
try {
    var stat = fs.statSync(path.join(__dirname, './tasks'));
    console.log('\'tasks\' folder already exists. Continuing.')
} catch (e) {
    console.log('Copying \'tasks\' folder from \'node_modules/semantic-ui/tasks\'');
    fs.copySync(path.join(__dirname, '../node_modules/semantic-ui/tasks'), path.join(__dirname, './tasks'));
    console.log('Copying done! Continuing.');
}

这似乎是可构建语义UI安装所需的最低要求。

答案 1 :(得分:5)

参考你自己的答案,我有一个类似但略有不同的方法,可能需要一个额外的hacky小步骤,但保持回购更清洁。

我的.gitignore看起来像这样:

node_modules
semantic/dist/*
semantic/gulpfile.js
semantic/src/definitions
semantic/src/semantic.less
semantic/src/theme.less
semantic/src/themes
semantic/tasks
!semantic/dist/semantic.min.css
!semantic/dist/semantic.min.js

因此,与您的解决方案不同的是,我还忽略了src/目录中的文件,例如定义和所有这些主题。

但是:克隆回购后你必须进行语义设置。 :这可能会覆盖您的semantic.json,因此您需要恢复该更改 - 我之前提到过的黑客行为。

这两个dist文件包含在使用Semantic时的情况,无需更改任何内容。