aboutsummaryrefslogtreecommitdiff
path: root/GIT_SETUP.sh
blob: e1e1bd8eb340be2fd7ebb0e364733048db1ffe68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# ============================================================================
# GUIA: Inicialização do Repositório Helpdesk
# Infraestrutura: Git local → Gitolite (controle de acesso) → cgit (web UI)
# ============================================================================


# ─── 1. INICIALIZAÇÃO LOCAL ───────────────────────────────────────────────────

# Entre na pasta do projeto
cd /caminho/para/helpdesk

# Inicializa o repositório Git com branch principal chamada 'main'
git init --initial-branch=main

# Adiciona todos os arquivos da Fase 1 ao staging
git add \
  flake.nix \
  .gitignore \
  .gitattributes \
  pnpm-workspace.yaml \
  package.json \
  README.md \
  api/.gitkeep \
  web/.gitkeep

# Primeiro commit — sinaliza início formal do projeto
git commit -m "chore: inicializa monorepo helpdesk

- Adiciona ambiente Nix reprodutível (flake.nix)
- Configura workspaces pnpm (api, web)
- Define .gitignore e .gitattributes
- Documenta setup no README"


# ─── 2. CONFIGURAÇÃO DO GITOLITE ─────────────────────────────────────────────
# (Executado no servidor onde o Gitolite está instalado)

# No servidor, edite gitolite.conf para declarar o novo repositório:
#
# repo helpdesk
#     RW+     =   seu-usuario
#     R       =   @equipe-ti
#
# Faça commit e push nas configurações do Gitolite:
# git -C ~/gitolite-admin commit -am "feat: adiciona repositório helpdesk"
# git -C ~/gitolite-admin push


# ─── 3. CONECTA O REMOTE E FAZ O PUSH INICIAL ────────────────────────────────

# Adiciona o remote 'origin' apontando para o Gitolite
# (substitua 'git' pelo usuário e 'seu-servidor' pelo hostname/IP)
git remote add origin git@seu-servidor:helpdesk.git

# Verifica se o remote foi configurado corretamente
git remote -v

# Envia o branch 'main' para o servidor e define como upstream
git push --set-upstream origin main


# ─── 4. CONFIGURAÇÃO DO CGIT (exposição web) ─────────────────────────────────
# (Executado no servidor, no arquivo de configuração do cgit)
# Localização típica: /etc/cgitrc ou /etc/cgit/cgitrc

# Adicione a entrada abaixo ao arquivo cgitrc:
#
# repo.url=helpdesk
# repo.name=Helpdesk TI
# repo.desc=Sistema Interno de Chamados de TI
# repo.path=/home/git/repositories/helpdesk.git
# repo.owner=equipe-ti
# repo.readme=HEAD:README.md    ← renderiza o README na página do repo


# ─── 5. FLUXO DE TRABALHO DIÁRIO (para referência) ───────────────────────────

# Clonar o repositório em uma nova máquina
git clone git@seu-servidor:helpdesk.git
cd helpdesk
nix develop    # ativa o ambiente isolado
pnpm install   # instala dependências Node

# Criar uma branch de feature
git checkout -b feat/nome-da-feature

# Após desenvolver, commitar seguindo Conventional Commits
git add .
git commit -m "feat(tickets): adiciona rota de criação de chamado"

# Enviar e abrir para revisão
git push origin feat/nome-da-feature

# Merge na main após revisão
git checkout main
git merge --no-ff feat/nome-da-feature
git push origin main