我已經在預提交鉤子中安裝了mvn java-formatter:format
任務。此任務將格式化java源代碼。在預提交鉤子期間再次登臺文件?
pushd src/ > /dev/null
mvn java-formatter:format
RETVAL=$?
if (($RETVAL == 1)); then
exit 1
fi
popd > /dev/null
我需要附加新格式化的源文件來提交。我怎樣才能做到這一點?
我已經在預提交鉤子中安裝了mvn java-formatter:format
任務。此任務將格式化java源代碼。在預提交鉤子期間再次登臺文件?
pushd src/ > /dev/null
mvn java-formatter:format
RETVAL=$?
if (($RETVAL == 1)); then
exit 1
fi
popd > /dev/null
我需要附加新格式化的源文件來提交。我怎樣才能做到這一點?
pre-commit hook應該能夠包含git add
,以修改要提交的索引。
參見例如「git pre-commit
hook, add file into index」。
嘗試git add -A :/.
(見 「Add as if from the root folder of the repository」)
如果您只需添加這已經上演了文件,那麼你需要:
git add $(git diff --name-only --cached)
。這是可能的,但需要一個棘手的腳本。
在這裏你可以找到解決同樣的問題。在那裏,它會在每次提交時更新文件版本,而不是格式化代碼。它完全正常工作: https://github.com/addonszz/Galileo/tree/master/githooks
然後,您只需使用'格式化代碼'算法替換'updateVersion.sh'文件上的'版本文件替換'算法。也許你需要改變一些東西,例如刪除分支限制,因爲在那裏,只有在'develop'分支上時腳本纔會運行。
此外,它只會改變文件,如果是上演。如果文件沒有上演,那麼它什麼都不會做。更準確地說,它會打印出每一步所做的事情。
這是不是也添加了以前沒有進行過更改的文件? – Melebius
@Melebius真的。我已經修改了我的答案,只添加(已經)上演的文件。 – VonC