git - Git忽略如何仅按名称获取“最后一个”文件
问题描述
我有一个格式为: 的目录~/models/*/*
,其中第二个*
代表 220 个名为hmm0
的目录hmm220
。
我只想在提交中包含最后一个目录,我已经设法使用一系列!
和忽略行来处理 .gitignore 文件(这已经有效):
!models/
models/*
!models/*/
models/*/*
!models/*/hmm220/
但是,问题是目录的数量可以改变。例如,下次我可能有 240 个目录,命名为 fromhmm0
到hmm240
。我想总是只取最后一个目录(并忽略以前的目录)。这可能吗,如果可以,怎么办?如果没有,是否有比每次更改目录数量时都更改 .gitignore 文件更好的解决方案?
解决方案
我会重新调整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/*```
推荐阅读
- javascript - 使用 Javascript 和 Flask 进行视频流时的 URL 重定向
- scheme - Guile 方案中的点列表
- python - Python Pandas Dataframe - 优化在另一个 Dataframe 中搜索 id
- ios - NSInvalidArgumentException FIRMessaging connectWithCompletion
- java - 在undertow中以编程方式配置的http端口运行随机端口的占位符值应该是多少
- macos - 使用 Spark AR 框架移动无人机 3d 对象
- java - 将提供的依赖项中的特定包添加到 jar 中
- php - 如何在php中将元素添加到子数组中
- sql - SSMS 生成所有数据库的脚本,包括分区函数
- nginx - 我需要帮助了解 Kubernetes 架构最佳实践