# Rapor — imajViewer'ı GitHub'da Açık Kaynak Yapmak > Tarih: 2026-08-06 > Konu: GitHub'a açık kaynak repo koymak için gerekenler + mevcut repo durumu + geçmiş/silinme sorusu + "pro" hale getirme planı ## 1. Sorunun cevabı: dosya silersem GitHub'a eski dosyalar gider mi? **Çalışma ağacından gider, geçmişten GİTMEZ.** - Aynı repo geçmişini (aynı commit zincirini) GitHub'a push edersen: sildiğin dosyalar son sürümde (en son commit'te) görünmez, ama **git geçmişindeki eski commit'lerde aynen durur**. GitHub'da eski commit'lere tıklayan herkes o dosyaları görür ve indirebilir. - Üstelik bu geçmiş 391 MB binary taşıyor (aşağıda detay). GitHub'a geçmişle gitmek hem bu yükü hem de "eski dosyalar hâlâ orada" sorununu getirir. - **Öneri:** GitHub için geçmişsiz / tek commit'li temiz başlangıç yap. Ya `git init` ile yeni repo (sıfır geçmiş), ya da squash ile tek commit. O zaman ne sildiysen tamamen gider. ## 2. GitHub'a açık kaynak repo koymak için gerekenler (checklist) | Öğe | Durum | Not | |---|---|---| | LICENSE dosyası | ❌ YOK | README'de "MIT" yazıyor ama kökte LICENSE dosyası yok. GitHub lisansı bunu algılamaz | | README | ⚠️ Var | Gitea URL'leri içeriyor, Türkçe, badge yok (detay: madde 4) | | CONTRIBUTING.md | ❌ YOK | Katkı kuralları (kod stili, test, PR süreci) | | CODE_OF_CONDUCT.md | ❌ YOK | GitHub topluluk standartları için beklenir | | SECURITY.md | ❌ YOK | Güvenlik açığı bildirim yolu (private advisory) | | CHANGELOG.md | ❌ YOK | 1.0.0 → 1.1.0 geçmişi yazılı değil | | CI (GitHub Actions) | ❌ YOK | Sadece `.gitea/workflows/` var — GitHub bunu ÇALIŞTIRMAZ, `.github/workflows/` gerekir | | Issue/PR template | ❌ YOK | `.github/ISSUE_TEMPLATE/` + `PULL_REQUEST_TEMPLATE.md` | | .gitignore | ✅ Var | İyi durumda (build/, .dart_tool/ ignore ediliyor) | | Repo metadata | ❌ | description + topics (image-viewer, flutter, linux, windows) + lisans seçimi | | Releases | ⚠️ | v1.1.0 tag + .deb/.exe asset'leri GitHub Releases'e taşınmalı | | FUNDING.yml | ❌ | Opsiyonel | ## 3. KRİTİK: Sızıntı / hijyen riskleri 1. **Gömülü token:** `git remote -v` çıktısında origin URL'si `https://git_alhan:1254baa3...@git.softmediadesign.com/...` — token URL'e gömülü. Bu dosya `.git/config`'te; push ile GitHub'a gitmez (config transfer edilmez). Ama GitHub'a yeni remote eklerken bu URL'yi yanlışlıkla kopyalamamaya dikkat. Token'ı Gitea'dan yenilemek en temizi. 2. **Kişisel dosyalar repoda:** `imajviewer.desktop` (yerel .desktop, mode 600), `Implementation.md`, `PRD.md`, `update_plan_01.md`, `docs/session-*.md`, `docs/rapor-*.md` — iç geliştirme notları. Açık kaynak repo'da hepsi durmamalı. 3. **Binary dosyalar git'te:** `deb/` (16 MB libflutter_linux_gtk.so vb. — build çıktısı) ve `dist/` (.deb, .exe — sürüm paketleri) git ile takip ediliyor. Binary'ler git'e girmez; release asset'i olur. `.gitignore`'da `*.deb`/`*.exe` var ama `!dist/*.deb` istisnası ve `deb/` dizini bunları açıkta bırakıyor. 4. **Mutlak yol:** `pubspec.yaml` → `msix_config.logo_path: C:/projects/imajviewer/...` — yerel Windows yolu. GitHub runner'ında msix adımı kırılır; göreli yol olmalı. 5. **Geçmiş 391 MB:** En büyük blob'lar: setup.exe 24 MB ×4 kopya, libflutter_linux_gtk.so 16 MB, .deb'ler 8-11 MB ×8, tar.gz 9 MB. GitHub'da dosya limiti 100 MB — şu an geçmiyor ama repo 1 GB'a yaklaşırsa GitHub uyarır, şişkinlik de kötü görünür. ## 4. README düzeltmeleri - Klon/curl komutlarındaki `git.softmediadesign.com` URL'leri GitHub URL'si olmalı - `.deb` kurulum adımındaki sürüm `1.0.0` yazılmış, güncel `1.1.0` - Türkçe → açık kaynak için İngilizce (veya TR+EN iki dilli) önerilir - Badge'ler (build status, license, release) + ekran görüntüsü (imajviewer.png var) - "Gitea Actions" bölümü → "GitHub Actions" olarak yeniden yazılmalı ## 5. "Pro" hale getirme planı (uygulama adımları, onay sonrası) 1. **Kök temizliği:** `imajviewer.desktop` sil; iç dokümanları (Implementation/PRD/ update_plan/docs) taşı ya da sil — karar gerekiyor (aşağıda). 2. **Binary'leri git'ten çıkar:** `git rm --cached deb/ dist/*.deb dist/*.exe`, `.gitignore`'u düzelt (deb/ tamamen ignore; dist/'te sadece rebuild-deb.sh kalsın). Not: `git rm --cached` sadece ileriye dönük temizler; geçmişteki 391 MB durur — tam temizlik için ya filter-repo ya da temiz başlangıç gerekir. 3. **Lisans:** Köke `LICENSE` (MIT) ekle. 4. **README'yi yeniden yaz:** İngilizce, GitHub linkleri, badge, screenshot. 5. **Topluluk dosyaları:** CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, CHANGELOG.md, `.github/` (issue/PR template + workflows/build-windows.yml). 6. **CI'ı GitHub'a uyarla:** `.gitea/workflows/build-windows.yml` → `.github/workflows/`: `GITEA_TOKEN` → `GITHUB_TOKEN` (otomatik), release adımı `softprops/action-gh-release` ile GitHub Release + .deb/.exe asset. 7. **pubspec.yaml:** `logo_path`'i göreli yap (CI'da msix kırılmasın). 8. **GitHub'a aktarım:** Yeni boş GitHub repo → `git remote add github ` → temiz tek commit (squash/orphan) → `git push github main`. Gitea ayrı kalır. ## 6. Açık kararlar (senin onayın gerekiyor) 1. README dili: İngilizce mi, TR mi, iki dilli mi? (açık kaynak görünürlüğü için İngilizce önerilir) 2. `docs/` ve kök dokümanlar: iç raporlar/session notları ne olacak? (yerel yedek alınır mı?) 3. Geçmiş: temiz tek commit mi, yoksa tüm geçmiş GitHub'a taşınsın mı? (öneri: temiz tek commit) 4. GitHub hesabı/org: repo hangi hesaba? Repo adı: `imajviewer` mi `imajViewer` mi? 5. Lisans: MIT kesin mi? (README'de MIT yazıyor, dosya yok)