Public repository kaynak kodu herkese görünür; private repository yalnız yetkili hesaplara açıktır. Görünürlük bir lisans veya secret kasası değildir. Yazılım satış projelerinde erişim minimum yetkiyle verilmelidir.
Repository visibility: Private
Change repository visibility
Manage access
Invite a collaborator
Danger ZonePublic repository kaynak kodu herkese görünür; private repository yalnız yetkili hesaplara açıktır. Görünürlük bir lisans veya secret kasası değildir. Yazılım satış projelerinde erişim minimum yetkiyle verilmelidir.
`git status`, aktif branch, remote ve son commitleri görmeden reset veya force işlemi yapmayın.
HTTPS credential, SSH key, remote URL ve GitHub hesabının doğru olduğunu kontrol edin.
Fetch, merge veya rebase öncesinde commit ya da backup branch ile geri dönüş noktası bırakın.
Protected branch, review, CI ve secret scanning kurallarını aşmak yerine feature branch akışını kullanın.
Private repo’ya secret commit etmeyin.
Anlamı: İçerik görünür hâle gelmiş olabilir.
Muhtemel neden: Yanlış visibility değişikliği.
Anlamı: Private erişim secret yönetimi değildir.
Muhtemel neden: Yanlış güvenlik varsayımı.
Anlamı: Rol veya branch policy yetersiz.
Muhtemel neden: Read/Triage veya protected branch.
Anlamı: Kullanım hakkı belirsiz.
Muhtemel neden: LICENSE yok.
Anlamı: Fork/network davranışı etkilenebilir.
Muhtemel neden: Public/private geçişi.
Anlamı: Kullanıcı fazla yetkili.
Muhtemel neden: Admin/team rolü.
Anlamı: Erişim kaldırılmamış.
Muhtemel neden: Offboarding eksik.
Anlamı: Yetkili kişi local kopya alabilir.
Muhtemel neden: Normal Git davranışı.
Bu ifadeyle eşleşen kayıt bulunamadı.
gh repo view --json nameWithOwner,visibility,isPrivate,defaultBranchRefRepository görünürlüğünü gösterir.
gh api repos/OWNER/REPO/collaborators --paginate --jq '.[] | [.login,.permissions] | @tsv'Kullanıcı ve izinleri listeler.
gh api repos/OWNER/REPO/branches/main/protection 2>/dev/null || trueMain koruma ayarını gösterir.
gh secret listSecret değerlerini göstermeden isimleri listeler.
git remote -vLocal kopyanın bağlı repository’sini gösterir.
git log -p --all | grep -Ei '(api[_-]?key|secret|token|password|BEGIN .*PRIVATE KEY)' | head -n 80Geçmişte olası secret izlerini tarar.
Repository Public, .env commitliRepository Private, `.env` ignore, sırlar GitHub Secrets içindeMüşteriye AdminMüşteriye yalnız gerekli repo ve Read/Write rolüPublic, LICENSE yokPublic + uygun LICENSEconfig.php içinde production şifresiconfig.example.php + ENV + GitHub SecretsGit for Windows, PowerShell, Git Bash ve VS Code Source Control birlikte kullanılabilir.
HTTPS credential manager; SSH ise uzun süreli ve çoklu hesaplı geliştirme ortamlarında kullanılabilir.
Repository rolü, protected branch, Pull Request ve CI politikaları birlikte yönetilmelidir.
Kolay başlangıç için HTTPS ve Git Credential Manager; otomasyon ve çoklu hesap için SSH uygundur.
Git işlemlerinde hesap parolası yerine PAT, credential manager, GitHub CLI veya SSH kullanılır.
Yalnız erişimi sınırlar; secret, parola, private key ve müşteri verileri yine commit edilmemelidir.
Yalnız geçmişi bilinçli yeniden yazılan kişisel feature branch’te ve mümkünse `--force-with-lease` ile kullanılmalıdır.
Branch protection gerektiriyorsa zorunludur; tek kişilik projede de review ve güvenli main geçmişi sağlar.
OWNER, REPO, branch, URL ve dosya değerlerini projenize göre değiştirip önce `git status` ve `git remote -v` ile doğrulayın.
Genellikle hayır. `.git` klasörünü silmek commit geçmişini, branch ve remote bilgilerini kaybettirebilir.
Windows, VS Code, Git Bash, SSH, private repository, protected branch, merge conflict ve GitHub Actions sorunlarını güvenli Git akışıyla inceliyoruz.