获取 git 文件夹中最近更改的文件的名称

Get the name of the file that was changes recently in a git folder

我正在尝试获取最近更改过的文件名。例如一个文件夹有三个文件 file1.txt、file2.txt 和 file3.txt。我正在尝试使用一个 powershell 脚本来捕获基于 git 日志或 rev-list 的文件名和 select 它的名称。此外,如果有人添加了另一个名为 file4 的文件,则它必须由变量 select 编辑。

cd folder
  $latest_file = git log -n1  --pretty="format:" --name-only -- *.txt
# or $latest_file = git show --name-only $(git rev-list -1  --all *.sql)
cp $latest_file "some/another/folder/"

git log -n1 的问题在于,只有当 file1.txt 被更改时,它才能捕获文件名,而如果我更改 file2.txt 则它会失败,但是如果我更改 git log -n2 然后它捕获 file2 中的 chagne 但是如果 file1 被更改或者如果 file4 添加然后它失败。

git rev-list -a --all 的问题是它提供了比文件名更多的输出,并且不知道如何使用像 log 中那样的漂亮格式。

谢谢!

我想我是通过编辑如下代码让它工作的:

cd folder
   $latest_file = git log -1 --pretty="format:" --name-only *.txt

cp $latest_file "some/another/folder/"

每次我 post 一个问题,我都会在几个小时内找到答案 :D