linux - 列出子文件夹中的本地 git repos

标签 linux git repository

在我的网络服务器上,我喜欢在各种配置文件夹中创建 git repos,例如 /etc/apache2 等等,这样我就可以随时跟踪我对配置文件所做的更改.随着我安装更多服务,如 proftpd、fail2ban、postfix 等,我向每个文件夹添加了更多 git repos。

此时,我不记得它们都位于何处。打字少

find . -type d -iname ".git"

有什么方法可以搜索某个目录中的所有 git 存储库,并奖励积分,显示分支及其干净/脏状态?像这样的东西:

./etc/apache2/.git  [master*]
./etc/proftpd/.git  [master*]
./etc/fail2ban/.git  [master]
./etc/postfix/.git  [master]

星号表示 repo 有未提交的更改。

最佳答案

不要为每个产品创建单独的存储库。

在您的主目录中,创建一个目录来 stash 所有内容并创建一个 git 存储库。例如,假设您的主机名是 myserver,创建

~/myserver

然后将其设为 git 仓库,例如,将其他所有内容都置于其下

~/myserver/.git
~/myserver/etc
~/myserver/etc/network
~/myserver/var
~/myserver/opt
...

如果你想管理多个主机,设置一个~/config目录并在其下创建主机名文件夹。你应该只需要一个 git 仓库。

关于linux - 列出子文件夹中的本地 git repos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223364/

相关文章:

sql - 带引号的字符串未正确终止

linux - 执行命令

linux - 运行命令时./usr 和/usr 之间的区别

entity-framework - 架构设计 - MVC、EF、Rep、UoW、WCF、DI

git - 如何从远程 Git 存储库中删除所有内容?

Linux 网络服务器负载平衡 howto

git: checkout 时自动 stash + pop

git - 如何删除分支中的特定提交

git – 按日期顺序提交引入 "TODO"s

linux - 任何通过 SSH 工作的 git repo 查看器?