【问题标题】:untracked files , untracked folders inventory未跟踪的文件,未跟踪的文件夹清单
【发布时间】:2014-04-27 01:47:57
【问题描述】:

我目前正忙于多个项目。 (~30) 他们中的一些人闲置了几个月。 无论我多么努力地组织起来,我总是以多个子目录结束,其中包含不同深度级别的 git repos。

我想仔细检查我所有的工作目录,以确保我没有意外留下未提交的更改或未跟踪的文件夹。

有没有工具可以做到这一点?

  • 扫描 git repo 的子目录。
  • 列出未跟踪的文件
  • 列出未提交的编辑
  • 列出没有 git repo 的目录。 (如果它们包含文件)

【问题讨论】:

    标签: git bash ide development-environment jetbrains-ide


    【解决方案1】:

    没有工具可以完全满足您的需求,但您可以混合使用一些命令行实用程序来获得您想要的。

    查找所有具有.git 目录的子目录。

    find . -name `.git` | xargs dirname
    

    在每一个上运行git status

    for d in `find . -name .git | xargs dirname `; do pushd $d; git status; popd; done;
    

    【讨论】:

    • 感谢您的想法。我正在把它变成开源......github.com/cloverise/commitful
    • @lenzai,很高兴你发现它很有用。当然,欢迎您在 Creative Commons 下使用它,就像 StackOverflow 上的所有其他内容一样。如果它解决了您的具体问题,请将此答案标记为已接受的答案。
    • 我要开 1 天。如果有人推荐现有的解决方案。然后将您的回答标记为已接受并发布项目
    • 你应该尝试...使用commitful |cut -f 1 -d "]" |sort|uniq -c 这是我得到的: 1 [提前` 18 [干净 8 [未上演 1 [待提交 15 [未跟踪 ` 当前版本已经非常有用!
    • @merlin2011 认为find -name '.git' -printf "%h\n" 会更好。此外,for something in $(find ...) 在许多情况下会导致问题,请参阅this 以获得更好的语法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 2017-03-15
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    相关资源
    最近更新 更多