在提交之前保存修改后的日志

时间:2012-02-20 12:56:12

标签: git

我正在尝试设置一个文件,列出已修改的项目中的所有文件。

我希望每当我提交时自动完成此操作。我尝试使用所有git log命令,但仍然没有运气。

我这样做是为了向服务器发出信号,告知服务器在回购服务器上结账后哪些文件需要重新缩小。

编辑:到目前为止这是我的剧本:

FILES="$(find /home/qwertymk/public_html -type f -name '*.js')"
CHANGED="git whatchanged -n 1 --pretty=format:"
for f in $FILES
do
 if [[ $f =~ /home/torah/public_html/ignore-folder/ ]]; then continue; fi
 if [[ $f =~ $CHANGED ]]; then continue; fi  # What do I do here?
  echo "processing - $f"
  php /home/qwertymk/jsmin/curl.php $f
done

1 个答案:

答案 0 :(得分:3)

您可以使用git-whatchanged直接查询git以获取此信息,而不是在提交消息中保存已修改文件的列表。要获取最新提交的更改列表,您可以执行以下操作:

git whatchanged -n 1

要获取两个命名提交之间的更改列表,您可以执行以下操作:

git whatchanged <since>..<until>

您也可以从git-log这样获取此信息,包括您想要的其他任何git-log选项:

git log --name-status <options>

根据评论中的注释,这可能会将您需要的信息提升到几乎 所需的信息:

git log --name-status --pretty=format: -n 1

(将-n 1替换为您需要指定提交的任何内容)