Shell脚本:找到git文件夹并执行git命令?

时间:2011-09-08 20:55:07

标签: git shell unix

我在文件夹和子文件夹中有几个git repo,我想使用git reset -hard清理,有人可以指导我吗?

find /home/me/src -type d -name ".git" -print

并执行find“.git”repo

git --git-dir=/home/me/src/find1/.git reset --hard
git --git-dir=/home/me/src/find2/.git reset --hard
git --git-dir=/home/me/src/subfolder/find3/.git reset --hard

2 个答案:

答案 0 :(得分:0)

git reset --hard仅适用于工作目录。我担心你的命令不会达到预期的效果。您必须cd进入git存储库的工作目录(假设.git目录包含在您的工作目录中)

find /home/me/src -type d -name '.git' -print0 \
| xargs -0 sh -c 'cd "${1%/.git}"; git reset --hard;' -

答案 1 :(得分:-1)

尝试以下脚本。希望它有所帮助

find /home/me/src -name ".git" -type d -exec "git reset --hard {}" \;