0

我有一个格式为: 的目录~/models/*/*,其中第二个*代表 220 个名为hmm0的目录hmm220

我只想在提交中包含最后一个目录,我已经设法使用一系列!和忽略行来处理 .gitignore 文件(这已经有效):

!models/
models/*
!models/*/
models/*/*
!models/*/hmm220/

但是,问题是目录的数量可以改变。例如,下次我可能有 240 个目录,命名为 fromhmm0hmm240。我想总是只取最后一个目录(并忽略以前的目录)。这可能吗,如果可以,怎么办?如果没有,是否有比每次更改目录数量时都更改 .gitignore 文件更好的解决方案?

4

1 回答 1

0

我会重新调整models目录,以便保留重要的目录current并且不要同步档案。

然后,在您的代码中,您将实现类似(不工作 BASH ;) ):

archive_count=`ls -l | grep "^d" | wc -l`
mkdir /models/archive/hm$archive_count
mv  /models/current/* /models/archive/hm$archive_count/
models
    |-archive
        |-hm0
        |-hm1
    |-current
        |-current files

.gitignore
!/models/archive
/models/archive/*```
于 2020-12-29T16:30:52.493 回答