ExtJS 6 добавление workspace.json в gitignore - PullRequest
0 голосов
/ 01 июня 2018

У меня быстрый вопрос по ExtJS 6, в котором я надеюсь, что кто-то может мне помочь.

Я работаю в команде разработчиков, использующей git для управления исходным кодом.

Я настроил брендНовый Ext проект с помощью следующих шагов:

sencha -sdk /home/user/project/extjs-6.5.3.57 generate app Application /home/user/project/app

, который создает приложение, затем я запускаю sencha app watch и делаю некоторые первоначальные изменения.

Оттуда я git init начальный коммит.

Кажется, все идет хорошо, создается запись в моем файле workspace.json, например, так:

"frameworks": {
    "ext": {
        "path":"ext",
        "version":"6.5.3.57"
    }

},

Проблема возникает, когда другой член команды хочет начать разработку.

Они клонируют репозиторий, настраивают их Sencha cmd и затем запускают;

sencha app upgrade /home/user/project/extjs-6.5.3.57

Это создает каталоги / build и / ext, которые находятся в файле .gitignore.

Straightпосле этого, если они должны были запустить git status, возвращается, сообщая, что workspace.json был обновлен.

Кажется, что изменение просто проверяет этот блок фреймворков и добавляет несколько пробелов.и это отрендеренный блок;

"frameworks": {
    "ext": {
        "path":"ext",
        "version":"6.5.3.57"
    }


},

Мне было интересно, сталкивался ли кто-нибудь еще с этим и как они преодолели это?.. Должен ли я добавить workspace.json в файл .gitignore, чтобы он генерировался свежим на компьютере каждого разработчика?или я делаю что-то не так изначально?

В настоящее время мой .gitignore выглядит так;

/build
/ext
bootstrap.*
classic.json*
modern.json*
.sencha
.idea

Я запускаю обновление приложения sencha из корневого каталога проекта, поэтому моя работакаталог выглядит так

/.git
.gitignore
Readme.md
/app
app.js
app.json
build.xml
/classic
/ext
index.html
/modern
/resources
workspace.json

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 июня 2018

Во-первых, типичный файл ExtJS gitignore не включает workspace.json.
Так что вы должны не игнорировать его.

Во-вторых, вы можете спроситьразработчики должны активировать в своем git config clean content filter driver, который удалит пустые строки .

git config filter.workspacejson.clean sed '/^$/d'

Этот фильтр 'workspacejson' объявлен в репозитории Git как директива .gitattributes .

workspace.json  filter=workspacejson

Он будет применяться автоматически при git diff или git commit для любого файла workspace.json, как указано в файле .gitattributes.

http://git-scm.com/book/en/v2/book/08-customizing-git/images/clean.png

(Источник: Pro Git book: Настройка Git - атрибуты Git )

Таким образом, любой git diff или git commit сочтет ваш workspace.json неизменным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...