c43a28e143
Create and document a script that removes Replit-specific files and author information from the Git history before pushing to Gitea. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 77cfe984-2c65-4152-bb7a-0df28274fe66 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 9417ede9-0069-4ffd-a7b5-6379f4c70b4d Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/c3c252e4-c83d-40ca-9fff-99a3ea60701e/77cfe984-2c65-4152-bb7a-0df28274fe66/kI0sxlu Replit-Helium-Checkpoint-Created: true
2.6 KiB
2.6 KiB
نشر نظيف على Gitea
سكربت scripts/publish-to-gitea.sh يدفع نسخة نظيفة 100% من أي أثر لـ Replit إلى مستودع Gitea، بدون ما يلمس بيئة Replit أو شغلك المحلي.
وش يسوّي بالضبط
عند كل تشغيل، يبني نسخة مؤقتة في /tmp/ ويعمل عليها التالي قبل الدفع:
| الإجراء | التفاصيل |
|---|---|
| يحذف الملفات الخاصة بـ Replit | .replit, .replitignore, replit.nix, .local/, .agents/, attached_assets/, كل .replit-artifact/ |
| ينظّف رسائل الـ commits | يشيل أي سطر يبدأ بـ Replit- (مثل Replit-Commit-Author, Replit-Commit-Screenshot-Url) |
| يعيد كتابة هوية المؤلف | يستبدل *@users.noreply.replit.com باسم وإيميل من اختيارك (الافتراضي: Riyadh <dev@tx.local>) |
| يطبّق التغييرات على كل الـ commits السابقة | يعني حتى الـ history القديم ينظّف، مو بس الـ commits الجديدة |
| يدفع force-push للـ remote | فقط لو أعطيت --push |
الاستخدام
1) معاينة (dry run) — لا يدفع شي
./scripts/publish-to-gitea.sh
يعرض لك آخر 5 commits بعد التنظيف عشان تتأكد قبل الدفع الفعلي.
2) دفع فعلي لـ Gitea
./scripts/publish-to-gitea.sh --push
3) تخصيص الاسم/الإيميل
AUTHOR_NAME="Mohammed Ali" AUTHOR_EMAIL="me@example.com" ./scripts/publish-to-gitea.sh --push
4) دفع لمستودع/فرع مختلف
GITEA_REMOTE_URL="https://gitea.example.com/me/my-repo.git" \
GITEA_BRANCH="main" \
./scripts/publish-to-gitea.sh --push
ضمانات الأمان
- ✅ كل العمل في مجلد مؤقت (
/tmp/tx-publish-XXXXXX) — يتحذف تلقائياً. - ✅ الـ git history الأصلي عندك في Replit ما يتغيّر.
- ✅ Docker setup والـ workflows تكمل تشتغل بشكل عادي.
- ⚠️ Force-push يستبدل تاريخ Gitea كاملاً — لو في clones أخرى للمستودع، لازم تعمل clone جديد.
متى أشغّله
كل ما تبي تنشر تحديثات لـ Gitea، شغّل السكربت بـ --push. ما يحتاج تشغيله إلا لما تبي تحدّث Gitea.
استرجاع نسخة العمل من Gitea (على الماك)
git clone https://desktop-11cj93j.tail866923.ts.net/rafraa/TX.git
cd TX
./start.sh
ما راح تلقى أي إشارة لـ Replit في الكود ولا في الـ history.