2017-01-19 3 views
0

Это мерзавец крючок для precommit Предполагается выполнить команду esformatter для каждого файла модифицированного (постановки),Git крючок precommit не работает

#!/bin/sh 

for fil in $(git diff --name-only --staged | grep ".js"); do 
esformatter -i$ fil & git add $fil; 
done 

git commit -m "Adding format to files" 

На самом деле я хотел, чтобы этот код выполняется в но я не знаю, как это сделать. Код действительно работает до тех пор, пока не будет выполнена часть. Но файлы не добавляются в commit obviusly, поэтому мне нужна часть фиксации.

С уважением

+0

было бы полезно использовать https://nathanhoad.net/git-amend-your-last -комментировать изменение для достижения этого? в том же коммите – arnoldssss

+0

Obviusly, когда нет ответов, есть downvotes bravoo !! – arnoldssss

ответ

1

Прежде думаю, если это корень вы хотите взять. Модификация коммитов людей «на лету», скорее всего, вызовет затруднение распутывания беспорядков в будущем.

Во-вторых, если вы хотите оставить изменения в одной и той же фиксации, вы можете просто удалить строку git commit -m "Adding format to files", так что нет отдельной фиксации, сделанной githook.

Если это не работает, вы можете попробовать добавить его в качестве пост-фиксации и сделать git commit --amend

+0

Я пробовал это ... не совершать коммит, но опубликовано без этого изменения ... позвольте мне снова проверить – arnoldssss

+0

. Так что мне не нужно добавлять файлы? – arnoldssss

+0

Да, он не работает, файлы изменены, но не установлены. Поэтому, когда я делаю git push, он отправляет исходные изменения не форматированным кодом. Сформированный код не поставлен – arnoldssss

Смежные вопросы