我有本地Git仓库某处我的文件系统的一堆(10-15)的所有未提交当地人回购,但所有的文件夹/数据/混帐:查找目录树
我想找到所有的/任何有未得到改变的文件夹。我怎样才能做到这一点?有点像递归全局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
不要使用git的状态做的工作。改用git-ls-files和git-diff/git-diff-files。 – 2009-06-07 17:44:12
git-status有什么问题? – Bombe 2009-06-08 08:53:36
git-status是所谓的瓷器,它意味着用户,而不是脚本。其输出可能会改变,恕不另行通知 – 2009-06-09 11:05:46