Push branch protection, ruleset, PR/CI şartı, 100 MB tek dosya limiti veya secret push protection nedeniyle reddedilebilir. Çözüm kuralları kapatmak değil; uygun branch/PR akışına geçmek ve secret’ı geçmişten temizlemektir.
remote: error: GH013: Repository rule violations
protected branch hook declined
File exceeds 100 MB
Push cannot contain secretsPush branch protection, ruleset, PR/CI şartı, 100 MB tek dosya limiti veya secret push protection nedeniyle reddedilebilir. Çözüm kuralları kapatmak değil; uygun branch/PR akışına geçmek ve secret’ı geçmişten temizlemektir.
`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.
Ruleset’i yalnız push geçsin diye kapatmayın.
Anlamı: Push ruleset’e uymuyor.
Muhtemel neden: PR, imza, status veya dosya kuralı.
Anlamı: Doğrudan branch push yasak.
Muhtemel neden: Main protection.
Anlamı: Tek blob limiti aşıyor.
Muhtemel neden: ZIP, backup veya binary.
Anlamı: Push protection secret buldu.
Muhtemel neden: Token/key commitli.
Anlamı: CI başarılı değil.
Muhtemel neden: Test/lint hatası.
Anlamı: Commit imzası yok.
Muhtemel neden: Ruleset imza şartı.
Anlamı: Push çok büyük.
Muhtemel neden: Büyük history/binary.
Anlamı: Branch history rewrite yasak.
Muhtemel neden: Koruma politikası.
Bu ifadeyle eşleşen kayıt bulunamadı.
git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '$1=="blob" {print $3,$4}' | sort -nr | head -n 30En büyük Git blob’larını listeler.
git lfs env && git lfs ls-filesGit LFS durumunu gösterir.
gh api repos/OWNER/REPO/rulesets --paginate 2>/dev/null || trueRepository rulesetlerini gösterir.
git log -p --all | grep -Ei '(api[_-]?key|token|secret|password|BEGIN .*PRIVATE KEY)' | head -n 100Olası secret izlerini tarar.
git log --show-signature -n 5Son commit imzalarını gösterir.
git status --short --branch && git branch -vvAktif branch/upstream durumunu gösterir.
git push origin maingit switch -c feature/duzeltme
git push -u origin HEAD
gh pr create --base main --fillgit add backup.zip
git pushgit rm --cached backup.zip
echo "backup*.zip" >> .gitignore
git commit --amendgit add video.mp4git lfs track "*.mp4"
git add .gitattributes video.mp4
git commit -m "Video LFS"Dosyadan token’ı sil ve push etToken’ı iptal et, geçmişten temizle, GitHub Secrets/ENV kullan.Git 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.