Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在预提交钩子期间再次转移文件?_Git_Githooks_Pre Commit Hook_Pre Commit - Fatal编程技术网

Git 在预提交钩子期间再次转移文件?

Git 在预提交钩子期间再次转移文件?,git,githooks,pre-commit-hook,pre-commit,Git,Githooks,Pre Commit Hook,Pre Commit,我已经在预提交钩子中安装了mvnjavaformatter:formattask。此任务将格式化java源代码 pushd src/ > /dev/null mvn java-formatter:format RETVAL=$? if (($RETVAL == 1)); then exit 1 fi popd > /dev/null 我需要附加新格式化的源文件以提交。如何执行此操作?应该能够包含一个git add,以修改即将提交的索引 例如,见“” 尝试一个gi

我已经在预提交钩子中安装了
mvnjavaformatter:format
task。此任务将格式化java源代码

pushd src/ > /dev/null

mvn java-formatter:format
RETVAL=$?
if (($RETVAL == 1)); then
        exit 1
fi

popd > /dev/null
我需要附加新格式化的源文件以提交。如何执行此操作?

应该能够包含一个
git add
,以修改即将提交的索引

例如,见“”

尝试一个git add-a:/。(请参阅“”)

如果只需要添加已暂存的文件,则需要:

  • 要么
  • 或者过滤器o,如在
    git add$(git diff--name only--cached)

    • 这是可能的,但需要一个复杂的脚本

      在这里你可以发现同样的问题已经解决了。在那里,它在每次提交时更新文件版本,而不是格式化代码。它正在充分发挥作用:

      然后用“格式化代码”算法替换文件“updateVersion.sh”上的“版本文件替换”算法。也许您需要更改一些内容,例如,删除分支限制,因为只有在“开发”分支上,脚本才会运行


      此外,它只会在暂存时更改文件。如果文件未暂存,则它将不执行任何操作。更准确地说,它会打印出它在每个步骤上所做的操作。

      这不也会添加带有以前没有进行过阶段性更改的文件吗?@Melebius True。我已经修改了我的答案,只添加(已经)暂存文件。