# نشر نظيف على 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 `) | | يطبّق التغييرات على **كل** الـ commits السابقة | يعني حتى الـ history القديم ينظّف، مو بس الـ commits الجديدة | | يدفع force-push للـ remote | فقط لو أعطيت `--push` | ## الاستخدام ### 1) معاينة (dry run) — لا يدفع شي ```bash ./scripts/publish-to-gitea.sh ``` يعرض لك آخر 5 commits بعد التنظيف عشان تتأكد قبل الدفع الفعلي. ### 2) دفع فعلي لـ Gitea ```bash ./scripts/publish-to-gitea.sh --push ``` ### 3) تخصيص الاسم/الإيميل ```bash AUTHOR_NAME="Mohammed Ali" AUTHOR_EMAIL="me@example.com" ./scripts/publish-to-gitea.sh --push ``` ### 4) دفع لمستودع/فرع مختلف ```bash 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 (على الماك) ```bash git clone https://desktop-11cj93j.tail866923.ts.net/rafraa/TX.git cd TX ./start.sh ``` ما راح تلقى أي إشارة لـ Replit في الكود ولا في الـ history.