git-checkout - 如何递归地检查 GIT 存储库中所有出现的文件名?

标签 git-checkout

我有一个 GIT 存储库,每个文件夹及其子文件夹中都有一个 build.xml 文件。我只需要在与存储库中相同的目录结构中 check out 那些 build.xml 文件。文件夹结构会随着时间的推移而修改,所以我希望解决方案是动态的。

一种选择是 check out 整个存储库,然后删除除 build.xmls 之外的所有文件。但我想保留它作为最后的选择。是否有更好的方法或单行代码来完成任务?

即使 GIT 未跟踪 checkout 的骨架目录 sttrucure,我也可以接受该解决方案。

最佳答案

对您来说最简单的事情是执行以下步骤:

1) 将目录更改为本地 Git 存储库的根目录(其中包含各种 build.xml 文件)

2) 执行git pull origin branch 使您的本地repo 文件(包括build.xml 文件)与远程同步

3) 然后有选择地将 build.xml 文件从 repo 复制到新位置:

find . -name 'build.xml' -exec cp --parents \{\} /new_location \;

上面的find 命令会将整个目录结构移动到/new_location,在本例中是根目录下的目录。

根据您对 Linux 的期望,您或许可以创建一个脚本来自动执行所有这些操作。

关于git-checkout - 如何递归地检查 GIT 存储库中所有出现的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34058582/

相关文章:

git: merge 冲突后,检查重置文件,但现在 merge 不重新应用

windows - 如何在 ant 中运行 git checkout?

git checkout 由于本地更改而失败,但 stash 之后会干净地应用

android - 我必须做什么克隆 github 存储库,回滚到旧版本并在 ubuntu 16.04 上更新子模块?

git - "svn update -r"的 git 等价物是什么?

git - 关于 git-new-workdir 分支同步

php - 从 PHP 网站进行 Git checkout ?

git checkout <commit-hash> 与 git checkout 分支

git - 如何在不在本地创建远程分支的情况下进行 git fetch 和 checkout?

windows - git checkout -- <filename> 不会在 Windows 10 上恢复本地删除的符号链接(symbolic link)