From 6d999e5f5d406f3265ae04dbc6c0f168f8338d56 Mon Sep 17 00:00:00 2001 From: rbsetiawan Date: Wed, 17 Jun 2026 18:48:06 +0700 Subject: [PATCH] docs: add push.md and pull.md git workflow guides Agent-ready commands and checklists for sync with rbsetiawan/LDAPWeb. Co-authored-by: Cursor --- pull.md | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ push.md | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 358 insertions(+) create mode 100644 pull.md create mode 100644 push.md diff --git a/pull.md b/pull.md new file mode 100644 index 0000000..70255a2 --- /dev/null +++ b/pull.md @@ -0,0 +1,189 @@ +# Pull dari Git — LDAPWeb Monorepo + +> Panduan pull dari [git.gisportal.id](https://git.gisportal.id/) · akun **rbsetiawan** · repo **LDAPWeb** + +## Info repository + +| Item | Nilai | +|------|-------| +| Remote | `https://git.gisportal.id/rbsetiawan/LDAPWeb.git` | +| Branch default | `master` | +| Root lokal | `D:\Project\app on git` | +| Web | https://git.gisportal.id/rbsetiawan/LDAPWeb | + +### Folder lokal tidak dari repo ini + +Folder berikut **tidak** di-track monorepo LDAPWeb (tetap ada di disk, di-ignore): + +- `ops/` +- `support/` → repo terpisah: `http://git.gisportal.id/rfahreza/support.git` +- `support-api/` → repo terpisah: `http://git.gisportal.id/rfahreza/support-api.git` + +Pull monorepo **tidak** mengupdate `support/` atau `support-api/`. Gunakan pull terpisah di folder masing-masing bila perlu. + +--- + +## Perintah langsung ke Agent + +Salin blok di bawah ke chat Cursor bila ingin Agent melakukan pull: + +``` +Pull terbaru dari git.gisportal.id (rbsetiawan/LDAPWeb). +Ikuti pull.md: cek status lokal, backup/stash jika ada perubahan belum commit, pull origin master, laporkan file yang berubah. +Jangan overwrite .env lokal tanpa konfirmasi. +``` + +### Variasi perintah + +| Tujuan | Perintah ke Agent | +|--------|-------------------| +| Pull standar | `Pull origin master sesuai pull.md` | +| Pull aman | `Stash perubahan lokal, pull, lalu pop stash sesuai pull.md` | +| Sync perangkat baru | `Clone atau pull LDAPWeb monorepo, jelaskan folder yang di-ignore` | +| Cek saja | `Fetch dan bandingkan lokal vs remote tanpa merge — laporkan perbedaan` | +| Pull support terpisah | `Pull support-api di folder support-api/ dari remote rfahreza` | + +--- + +## Perintah manual (PowerShell) + +### 1. Masuk ke root proyek + +```powershell +cd "D:\Project\app on git" +``` + +### 2. Cek kondisi lokal + +```powershell +git status +git remote -v +git fetch origin +git log HEAD..origin/master --oneline +``` + +### 3. Pull (working tree bersih) + +```powershell +git pull origin master +``` + +### 4. Pull aman (ada perubahan lokal) + +```powershell +git stash push -m "wip sebelum pull" +git pull origin master +git stash pop +``` + +Jika `stash pop` konflik, selesaikan file konflik lalu: + +```powershell +git add . +# jangan commit otomatis kecuali user minta +``` + +### 5. Verifikasi + +```powershell +git status +git log -3 --oneline +``` + +--- + +## Clone perangkat baru + +```powershell +git clone https://git.gisportal.id/rbsetiawan/LDAPWeb.git "D:\Project\app on git" +cd "D:\Project\app on git" +``` + +Setelah clone: + +1. Salin `.env` dari backup atau buat dari `*.env.example` — file `.env` tidak ada di repo. +2. Folder `ops/`, `support/`, `support-api/` perlu disiapkan terpisah jika dipakai. +3. `GeoNetAgent/agent/config.json` — salin dari `config.example.json` atau `config.share.json`. + +--- + +## Pull sub-proyek terpisah (opsional) + +### support + +```powershell +cd "D:\Project\app on git\support" +git pull origin master +``` + +### support-api + +```powershell +cd "D:\Project\app on git\support-api" +git pull origin master +``` + +--- + +## Checklist Agent setelah pull + +1. **Laporkan** commit baru yang masuk (`git log` sebelum/sesudah). +2. **Jangan hapus** `.env` lokal — pull tidak menimpa file yang di-ignore kecuali user sudah commit `.env` (seharusnya tidak). +3. **Cek konflik** — jika ada, bantu selesaikan atau minta keputusan user. +4. **Baca ulang** `.cursor/*.md` jika berubah — itu sumber konteks AI di perangkat ini. +5. **Jangan** `git pull --rebase` atau `reset --hard` tanpa persetujuan user. + +--- + +## Troubleshooting + +### `Your local changes would be overwritten` + +```powershell +git stash +git pull origin master +git stash pop +``` + +### `fatal: not a git repository` + +```powershell +cd "D:\Project\app on git" +git init +git remote add origin https://git.gisportal.id/rbsetiawan/LDAPWeb.git +git fetch origin +git checkout -b master origin/master +``` + +### Diverged branches + +```powershell +git fetch origin +git log --oneline --graph --all -10 +``` + +Laporkan ke user — jangan force-push/pull tanpa instruksi. + +### Ingin hanya lihat perubahan remote + +```powershell +git fetch origin +git diff master origin/master +``` + +--- + +## Alur singkat (Agent) + +```mermaid +flowchart LR + A[git status] --> B{Perubahan lokal?} + B -->|Ya| C[stash atau minta commit] + B -->|Tidak| D[git pull origin master] + C --> D + D --> E{Konflik?} + E -->|Ya| F[Selesaikan / laporkan] + E -->|Tidak| G[Laporkan commit baru] +``` + +Lihat juga: [push.md](push.md) diff --git a/push.md b/push.md new file mode 100644 index 0000000..48b91ee --- /dev/null +++ b/push.md @@ -0,0 +1,169 @@ +# Push ke Git — LDAPWeb Monorepo + +> Panduan push ke [git.gisportal.id](https://git.gisportal.id/) · akun **rbsetiawan** · repo **LDAPWeb** + +## Info repository + +| Item | Nilai | +|------|-------| +| Remote | `https://git.gisportal.id/rbsetiawan/LDAPWeb.git` | +| Branch default | `master` | +| Root lokal | `D:\Project\app on git` | +| Web | https://git.gisportal.id/rbsetiawan/LDAPWeb | + +### Folder di-ignore (tidak ikut push) + +- `ops/` +- `support/` +- `support-api/` +- `LDAPWeb.code-workspace` +- `.env` (kecuali `*.env.example`) +- `node_modules/`, `.venv/`, `GeoNetAgent/agent/config.json` + +`support/` dan `support-api/` punya repo Git terpisah di akun lain — jangan di-push dari monorepo ini. + +--- + +## Perintah langsung ke Agent + +Salin blok di bawah ke chat Cursor bila ingin Agent melakukan push: + +``` +Push perubahan ke git.gisportal.id (rbsetiawan/LDAPWeb). +Ikuti push.md: cek status, pastikan tidak ada .env/secret, commit dengan pesan jelas, lalu push origin master. +Jangan push folder yang di-ignore (.gitignore). +``` + +### Variasi perintah + +| Tujuan | Perintah ke Agent | +|--------|-------------------| +| Push semua perubahan | `Commit dan push semua perubahan ke origin master sesuai push.md` | +| Push satu folder | `Commit dan push hanya perubahan di GeoNetAgent/ ke origin master` | +| Push setelah sync docs | `Update dokumentasi .cursor lalu commit & push sesuai push.md` | +| Cek sebelum push | `Jalankan pre-push checklist di push.md, laporkan hasil tanpa push` | + +--- + +## Perintah manual (PowerShell) + +### 1. Masuk ke root proyek + +```powershell +cd "D:\Project\app on git" +``` + +### 2. Cek perubahan + +```powershell +git status +git diff +git diff --staged +``` + +### 3. Stage file + +```powershell +# Semua perubahan (hormati .gitignore) +git add . + +# Atau per folder +git add GeoNetAgent/ +git add LDAPWeb/ +git add server-audit/ +git add server-connection/ +``` + +### 4. Commit + +```powershell +git commit -m "feat(GeoNetAgent): deskripsi singkat perubahan" +``` + +Contoh pesan commit: + +```powershell +git commit -m "docs: sinkronkan .cursor setelah sesi pengembangan" +git commit -m "fix(LDAPWeb): perbaiki validasi login LDAP" +git commit -m "chore: update nginx config collector" +``` + +### 5. Push + +```powershell +git push origin master +``` + +Atau (jika upstream sudah di-set): + +```powershell +git push +``` + +### 6. Verifikasi + +```powershell +git status +git log -1 --oneline +``` + +--- + +## Checklist Agent sebelum push + +Agent **wajib** memeriksa ini sebelum `git commit` / `git push`: + +1. **Tidak ada secret** — pastikan `.env`, password, token, atau kredensial tidak ter-stage. +2. **Hormati `.gitignore`** — jangan paksa-add `ops/`, `support/`, `support-api/`. +3. **Dokumentasi** — jika ada perubahan arsitektur/desain, update `.cursor/*.md` atau ADR dulu (lihat `GeoNetAgent/perintah.md`). +4. **Pesan commit** — jelas, menyebut area (`GeoNetAgent`, `LDAPWeb`, dll.) dan alasan singkat. +5. **Branch** — push ke `master` kecuali user minta branch lain. +6. **Jangan** `git push --force` ke `master` tanpa persetujuan eksplisit user. + +--- + +## Troubleshooting + +### Autentikasi gagal + +```powershell +git remote -v +git push origin master +``` + +Credential Windows Credential Manager: host `git.gisportal.id`, user `rbsetiawan`. + +### Remote belum ada + +```powershell +git remote add origin https://git.gisportal.id/rbsetiawan/LDAPWeb.git +git push -u origin master +``` + +### Push ditolak (behind remote) + +```powershell +git pull origin master +# selesaikan konflik jika ada, lalu: +git push origin master +``` + +Lihat juga: [pull.md](pull.md) + +### File besar / push lambat + +`server-connection/databaselist/vendor/` ikut repo — hindari commit ulang vendor tanpa perlu. + +--- + +## Alur singkat (Agent) + +```mermaid +flowchart LR + A[git status] --> B{Ada secret?} + B -->|Ya| C[Stop — perbaiki .gitignore] + B -->|Tidak| D[git add] + D --> E[git commit] + E --> F[git push origin master] + F --> G[git status — up to date] +```