Git временно добавляет файлы в "commit" при переключении веток - работа с chokidar/node.js

Я создаю наблюдатель файла Node.js (с Chokidar, но он может работать и с Gulp). Каждый раз, когда я сохраняю свой файл, он что-то с ним делает, например, передает JSHint.

Но когда я меняю ветки, мой наблюдатель сходит с ума и применяет мои функции ко ВСЕМ файлам, которые были изменены между ветвями. Итак, я сделал проверку, чтобы проверить, находится ли мой файл в разделе "для фиксации" из Git:

child_process.exec('cd '+ path +' && git status --porcelain', function (error, stdout, stderr) {...

Я делаю "git status" в своем представлении, анализирую строку и проверяю файлы для фиксации. Это работает до сих пор.

НО все же, когда я меняю ветки, Git временно добавляетразличные файлы между ветвями в состояние "быть зафиксированным", в результате чего мой код все еще сходит с ума.

Если я продолжу cmd.exe в то время как моя другая ветвь загружается и введите git status на самом деле, он показывает, что тонна файлов меняется, но после завершения работы он возвращается к нормальному состоянию.

Я мог бы проверить, запущен ли процесс "git.exe" в диспетчере задач, но это будет плюс еще одна проверка (и эта занимает больше времени, потому что он перечисляет все процессы списка задач):

child_process.exec('tasklist | find "git"', function (error, stdout, stderr) {...

Вопрос: Как я могу проверить, что файлы Git фиксируются только в моей текущей ветке, даже при переключении веток?

Спасибо!

0 ответов

Другие вопросы по тегам