gpt4 book ai didi

git:在目录树中查找所有未提交的本地存储库

转载 作者:IT王子 更新时间:2023-10-29 01:22:13 28 4
gpt4 key购买 nike

我的文件系统某处有一堆 (10-15) 个本地 git 存储库,但都在文件夹/data/中

我想找到所有/任何有未提交更改的文件夹。我怎样才能做到这一点?有点像递归的全局 git status 变体。

我认为所有答案都错了。任何 git 命令只在 git 控制下的文件夹内有效。我需要一些东西来搜索这样的文件夹。

所以我写了这个脚本来执行此操作:

#!/usr/bin/env ruby
require 'find'
require 'fileutils'

#supply directory to search in as argument

@pat = ARGV[0]
(puts "directory argument required"; exit) unless @pat
Dir.chdir(@pat)
Find.find(@pat) do |path|
if FileTest.directory?(path)
Dir.chdir(path)
resp = `git status 2>&1`
unless resp =~ /fatal|nothing to commit \(working directory clean\)/i
puts "#{'#'*10}\n#{Dir.pwd}#{'#'*10}\n#{resp}"
Find.prune
end

Dir.chdir(@pat)
end
end

最佳答案

改编自关于如何 print git status of all repositories under the current folder 的 Gist :

find . -type d -name '.git' | while read dir ; do sh -c "cd $dir/../ && echo -e \"\nGIT STATUS IN ${dir//\.git/}\" && git status -s" ; done

find 命令是您的 friend ,还有一些 shell 魔法。

关于git:在目录树中查找所有未提交的本地存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/961101/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com