0

我正在尝试获取具有最近更改的文件名的名称。例如,一个文件夹包含三个文件 file1.txt、file2.txt 和 file3.txt。我正在尝试拥有一个 powershell 脚本,该脚本根据 git log 或 rev-list 捕获文件的名称并选择它的名称。此外,如果有人添加了另一个名为 file4 的文件,那么它必须由变量选择。

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 这样的漂亮格式。

谢谢!

4

1 回答 1

0

我想我可以通过编辑如下代码来实现它:

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

cp $latest_file "some/another/folder/"

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

于 2019-10-28T20:40:53.453 回答