我正在尝试设置一个文件,列出已修改的项目中的所有文件。
我希望每当我提交时自动完成此操作。我尝试使用所有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
答案 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
替换为您需要指定提交的任何内容)