Aplica tags coloridas do Finder nas pastas de ~/GitHub conforme o status git de cada repositório.
| Cor | Tag | Estado |
|---|---|---|
| 🟢 | git-clean |
Limpo e sincronizado com o remoto |
| 🟡 | git-dirty |
Alterações não commitadas |
| 🟠 | git-ahead |
Commits locais não enviados (inclui branch nunca publicado) |
| 🔵 | git-behind |
Remoto tem commits não puxados |
| 🔴 | git-conflict |
Conflito, merge/rebase em andamento ou detached HEAD |
| 🟣 | git-no-remote |
Repositório sem remoto configurado |
| ⚪ | git-not-repo |
Pasta sem .git |
Prioridade quando mais de um estado se aplica: conflict > dirty > ahead > behind > no-remote > clean.
./gitmactag.sh # varre ~/GitHub e aplica as tags
./gitmactag.sh --fetch # roda git fetch antes (detecta git-behind atualizado)
./gitmactag.sh --base /outra/pastaO script varre 2 níveis (~/GitHub/<categoria>/<repo>), preserva tags que não são do GitMacTag e só regrava quando o status muda.
Sem --fetch, o git-behind reflete o último fetch feito — o script não usa rede por padrão.
cp com.williansaez.gitmactag.plist ~/Library/LaunchAgents/ && launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.williansaez.gitmactag.plistPara desativar:
launchctl bootout gui/$(id -u)/com.williansaez.gitmactagPara mudar o intervalo, edite StartInterval (em segundos) no plist e recarregue.
