پالت فرمان

دنبال فرمانی برای اجرا بگردید…

ZarynZaryn
میزبانی کد و کنترل نسخه·۹ دقیقه مطالعه·

شروع کار با میزبانی کد

مسیری راهنما از نخستین مخزن تا تاریخچه‌ای امضاشده و اثبات‌پذیر: میزبانی کد چیست، zev و Zaryn چطور کار می‌کنند، چرخهٔ روزمره، شاخه‌ها و درخواست‌های ادغام، پیدا کردن و برگرداندن چیزها، و امکانات پیشرفته. اول تصویر، هر گام با توضیح.

آموزش⏱ حدود ۴۰ دقیقه◔ از صفر تا پیشرفته☰ ۱۶ فصل
یاد می‌گیرید
  • میزبانی کد چیست و چه چیزی zev را از دیگر ابزارهای کنترل نسخه جدا می‌کند
  • نصب zev، ورود، و گذاشتن یک پروژه روی Zaryn
  • چرخهٔ روزمره: دریافت، تغییر، کامیت، ارسال
  • شاخه‌ها، درخواست‌های ادغام، بازبینی، issueها و سازمان‌ها
  • پیدا کردن هر چیزی در تاریخچه و برگرداندن بی‌خطر اشتباه‌ها
  • فایل‌های بزرگ، اثبات‌هایی که هر کسی می‌تواند بسنجد، رمزگذاری و خودکارسازی
لازم دارید
  • یک حساب Zaryn (رایگان)
  • یک رایانه با لینوکس، macOS یا ویندوز
  • پوشه‌ای با چیزی که ارزش نگه داشتن دارد: کد، یک پایان‌نامه، یک وب‌سایت
مسیر شما
  1. مرحلهٔ ۱درک
    1. میزبانی کد چیست
    2. چه چیزی zev را متفاوت می‌کند
    3. آنچه رایگان است
  2. مرحلهٔ ۲شروع
    1. zev را نصب کنید و وارد شوید
    2. نخستین مخزن شما
    3. چرخهٔ روزمره
  3. مرحلهٔ ۳کار گروهی
    1. شاخه‌ها: بی‌خطر امتحان کنید
    2. درخواست‌های ادغام و بازبینی
    3. issueها، همکاران و سازمان‌ها
    4. وقتی هر دو همان خط‌ها را عوض کرده‌اند
  4. مرحلهٔ ۴پیدا کردن و درست کردن
    1. هر چیزی را در تاریخچه پیدا کنید
    2. اشتباه‌ها را بی‌خطر برگردانید
  5. مرحلهٔ ۵فراتر
    1. فایل‌های بزرگ و مدل‌ها
    2. اثباتش کنید: تاریخچه‌ای که هر کسی می‌تواند بسنجد
    3. خصوصی، و رمزشده
    4. خودکارش کنید
این آموزش از «میزبانی کد چیست؟» تا تاریخچه‌ای امضاشده و اثبات‌پذیر پیش می‌رود. اگر کنترل نسخه برایتان کاملاً تازه است، اول [کنترل نسخه به زبان تصویر](/docs/fa/version-control-in-pictures) را بخوانید: کامیت، شاخه و ادغام را در ده دقیقه با تصویر توضیح می‌دهد. ## ۱. میزبانی کد چیست ```diagram type: graph title: یک پروژه، نسخهٔ هر کس، یک جا در میان alt: رایانهٔ شما و هم‌تیمی هر کدام کل تاریخچه را دارند؛ Zaryn نسخهٔ مشترک را با درخواست ادغام، issue و CI نگه می‌دارد legend: path=ارسال و دریافت height: 40 --- node you | رایانهٔ شما | 12 20 | laptop | accent | کل تاریخچه، آفلاین: کامیت، شاخه، نگاه به گذشته بی اینترنت node z | Zaryn | 50 20 | cloud | good | نسخهٔ مشترک و هر چه دورش است: درخواست ادغام، issue، CI، وب‌سایت node mate | هم‌تیمی | 88 20 | laptop | | نسخهٔ کامل خودش link you z | push، pull | path link z mate | pull، push | path ``` **کنترل نسخه** هر نسخه‌ای از پروژه را که ذخیره کنید به یاد می‌سپارد تا ببینید چه عوض شد، برگردید و با دیگران کار کنید. **میزبانی کد** یک نسخهٔ مشترک را آنلاین می‌گذارد تا تیم، CI و هر کسی که بخواهید به آن برسد. **zev** ابزار کنترل نسخه روی رایانهٔ شماست؛ **Zaryn** جایی است که نسخهٔ مشترک در آن است. ## ۲. چه چیزی zev را متفاوت می‌کند ```diagram type: cards --- #️⃣ | نشانی‌دهی با محتوا | هر فایل، پوشه و کامیت با هش محتوایش نام می‌گیرد: یک بایت را عوض کنید، نامش عوض می‌شود | accent ✍ | امضاشده | zev هر کامیت تازه را روی رایانهٔ شما امضا می‌کند؛ وقتی کلید روی حساب شما باشد Zaryn آن را تأییدشده نشان می‌دهد | 🧱 | فایل بزرگ، انتقال کوچک | فایل‌های بزرگ تکه‌تکه می‌شوند؛ یک ویرایش فقط تکه‌های عوض‌شده را می‌فرستد | good 🌐 | باز از بنیاد | اشیا، اشیای IPFS‌اند: یک snapshot منتشرشده هر جایی باز می‌شود، نه فقط روی Zaryn | 🧠 | کد را می‌فهمد | دیف معنایی می‌گوید تابعی تغییر نام داده، نه «۲۰ خط عوض شد» | 🤖 | آماده برای عامل‌ها | هر فرمان حالت JSON دارد؛ عامل‌های هوش مصنوعی از راه `zev mcp` کار می‌کنند | ``` معنایش برای شما: هیچ‌کس، از جمله Zaryn، نمی‌تواند تاریخچه‌تان را بی‌صدا عوض کند، و هر کسی بی‌نیاز از اعتماد به ما می‌تواند این را بسنجد. ## ۳. آنچه رایگان است ```diagram type: stats title: طرح رایگان --- ∞ | مخزن عمومی | هر کسی می‌تواند بخواند | | 5 | مخزن خصوصی | فقط شما و کسانی که دعوت می‌کنید | | accent 2 GB | در مجموع | در همهٔ مخزن‌هایتان | | 250 MB | برای هر فایل | فایل‌های بزرگ‌تر به هر حال تکه‌تکه می‌شوند | | ``` بعدها مخزن خصوصی، فضا یا امکانات پریمیوم بیشتری لازم دارید؟ [طرح‌ها](/docs/fa/billing-and-credits) را ببینید. ## ۴. zev را نصب کنید و وارد شوید ```diagram type: flow title: پنج دقیقه، یک بار برای هر رایانه or: یا --- نصب | یک خط روی لینوکس یا macOS؛ یکی روی ویندوز | | ⬇ ~ zev login تازه به Zaryn آمده‌اید | `--register you --email …`، سپس کد ایمیل‌شده | accent | ✉ ? حساب دارید | `--device`: در مرورگر تأیید کنید ~ تمام وارد شدید | از این پس هر فرمان zev می‌داند شما کیستید | good | ✓ ``` ```bash curl -fsSL https://zaryn.xyz/install.sh | sh # Linux and macOS zev login zaryn.xyz --register your-name --email you@example.com ``` روی ویندوز: `irm https://zaryn.xyz/install.ps1 | iex`. مدیرهای بسته و بررسی دانلود: [نصب](/docs/fa/installation). ## ۵. نخستین مخزن شما ```diagram type: flow title: از یک پوشه تا یک مخزن روی Zaryn --- zev init | پوشهٔ شما شروع به نگه داشتن تاریخچه می‌کند | | 📁 ~ zev add، zev commit نخستین کامیت | یک نقطهٔ ذخیره با یک پیام | accent | ✓ ~ zev new روی Zaryn | نام، نوع، عمومی یا خصوصی، مجوز؛ `origin` تنظیم‌شده | | ☁ ~ zev push آنلاین | `zaryn.xyz/you/notes`، با همهٔ نسخه‌ها | good | 🌐 ``` ```bash cd notes zev init zev add . zev commit -m "Start my notes" zev new # asks for a name, public or private, a licence zev push ``` ترمینال ندارید؟ در [Repos](/repos)، **New repository** را بزنید و با **Upload** فایل‌ها را از مرورگر اضافه کنید. هر فرمان بالا در [نخستین مخزن شما](/docs/fa/first-repository) توضیح داده شده است. ## ۶. چرخهٔ روزمره ```diagram type: flow title: چرخه‌ای که هر روز تکرار می‌کنید loop: دریافت، تغییر، add، کامیت، ارسال --- zev pull | اول آخرین کار همه را بگیرید | | ⇣ ~ ویرایش فایل‌ها zev add | آنچه در نقطهٔ ذخیرهٔ بعدی می‌رود را برگزینید | | 📥 ~ zev commit کامیت | یک نقطهٔ ذخیره، با اینکه چه کردید و چرا | accent | ✓ ~ zev pull، سپس zev push هم‌رسانی‌شده | کار شما روی کار همه | good | ⇡ ``` `zev status` هر لحظه می‌گوید هر چیز کجاست و `zev diff` خط‌هایی را که عوض کرده‌اید نشان می‌دهد. پیش از push، pull کنید: اگر هم‌تیمی‌ای در این میان push کرده باشد، کار شما روی کار او می‌نشیند. [ارسال و دریافت، با تصویر](/docs/fa/pushing-and-pulling#روال-کار-تیمی). ## ۷. شاخه‌ها: بی‌خطر امتحان کنید ```diagram type: history title: یک شاخه برای هر کار start: main --- branch main | accent branch login-fix | good | from B commit A main | شروع commit B main | افزودن منو step zev checkout -b login-fix | یک خط کاری تازه. main دقیقاً همان‌طور که بود می‌ماند. step کامیت روی شاخه | دو کامیت، فقط روی login-fix. commit C login-fix | درست کردن دکمه commit D login-fix | افزودن آزمون step در همین حال روی main | دیگران روی main کار می‌کنند. commit E main | به‌روزرسانی پاورقی ``` ```bash zev checkout -b login-fix # make a branch and switch to it zev checkout main # back to main ``` شاخه فقط نامی است که به یک کامیت اشاره می‌کند، پس هزینه‌ای ندارد. یک شاخه برای هر تغییر، main را سالم نگه می‌دارد. [شاخه‌ها و ادغام](/docs/fa/branches). ## ۸. درخواست‌های ادغام و بازبینی ```diagram type: flow title: پیش از ادغام بپرسید or: یا --- ارسال شاخه | `zev push`: login-fix روی Zaryn است | | ⑂ ~ zev pr درخواست ادغام | عنوان و توضیح از روی کامیت‌هایتان پیش‌نویس می‌شود | accent | 📬 ~ بازبینی بازبینی | نظر روی هر خط؛ تأیید، یا درخواست تغییر | warn | 👀 ? تغییر خواستند | کامیت‌های بیشتری push کنید، درخواست خودش به‌روز می‌شود ~ بررسی‌ها موفق ادغام‌شده | در وب‌سایت، یا `zev pr merge 7` | good | ✓ ``` ```bash zev pr # opens a pull request from the branch you're on zev pr list # what's open zev pr merge 7 # merge it once it's approved ``` یک درخواست ادغام دیف را نشان می‌دهد، [CI](/docs/fa/get-started-ci) و [ارزیابی‌ها](/docs/fa/evals-and-lineage) را اجرا می‌کند و فقط وقتی ادغام می‌شود که درخواست تغییر بازی نمانده باشد. [همکاری از ترمینال](/docs/fa/cli-collaboration). ## ۹. issueها، همکاران و سازمان‌ها ```diagram type: cards --- 🐞 | Issueها | گزارش باگ یا پیشنهاد ایده: زبانهٔ Issues، یا `zev issue` | accent 🤝 | همکاران | دعوت کسی به یک مخزن: بازش کنید، سپس Collaborators | 🏢 | سازمان‌ها | یک تیم زیر یک نام، با مخزن‌ها و نقش‌های خودش | good 🍴 | فورک‌ها | نسخهٔ خودتان از پروژهٔ کس دیگر: `zev fork-repo`، سپس یک درخواست ادغام به عقب | ``` ## ۱۰. وقتی هر دو همان خط‌ها را عوض کرده‌اند ```diagram type: diff title: یک تعارض، آن‌طور که zev علامت می‌زند file: index.html --- <h1> + <<<<<<< main + Welcome to my site + ======= + Welcome! Search below + >>>>>>> login-fix > نسخهٔ main بالا، نسخهٔ شاخه پایین: یکی، دیگری یا ترکیبی را نگه دارید، سپس خط‌های علامت را پاک کنید </h1> ``` ادغام معمولاً خودش کار می‌کند. وقتی دو نفر همان خط‌ها را عوض کرده باشند، zev چیزی را تغییر نمی‌دهد و از شما می‌پرسد: ```bash zev merge login-fix --resolve # marks each place both sides changed # edit the files, keep what you want, remove the marker lines zev add index.html zev merge --continue # or zev merge --abort to go back ``` گام به گام: [وقتی هر دو طرف همان خط‌ها را تغییر داده‌اند](/docs/fa/branches#وقتی-هر-دو-طرف-همان-خطها-را-تغییر-دادهاند). ## ۱۱. هر چیزی را در تاریخچه پیدا کنید ```diagram type: cards title: شش راه برای نگاه به گذشته --- 📜 | zev log | هر کامیت، تازه‌ترین اول؛ `--oneline` برای هر کدام یک خط | 🔍 | zev show | یک کامیت و دقیقاً آنچه عوض کرد | accent 🧑‍💻 | zev blame | چه کسی آخرین بار هر خط یک فایل را عوض کرد، و در کدام کامیت | ⚖ | zev diff، zev compare | هر دو نسخه کنار هم | 🔎 | zev search | کامیت‌ها، آزمایش‌ها، سنجه‌ها و snapshotها | 🌐 | صفحهٔ Commits | کل تاریخچه را با نام کسی، نوع (feat، fix…) یا واژه‌ها فیلتر کنید | good ``` ```bash zev log --oneline zev blame src/login.js zev show HEAD~1 ``` ## ۱۲. اشتباه‌ها را بی‌خطر برگردانید ```diagram type: cards title: چهار برگرداندنی که واقعاً به کار می‌برید --- ↩ | دور ریختن ویرایش‌های یک فایل | `zev restore file`: بازگشت به آخرین کامیت (آن ویرایش‌ها از دست می‌روند) | warn 📤 | بیرون آوردن فایل از کامیت بعدی | `zev restore --staged file`: ویرایش‌هایتان می‌مانند | 🧺 | کنار گذاشتن تغییرها | `zev stash`، بعداً `zev stash pop` | good ➕ | برگرداندن یک کامیت | کامیت تازه‌ای که آن را برمی‌گرداند: تاریخچه صادق می‌ماند | accent ``` zev هرگز کامیت‌هایی را که ساخته‌اید بازنویسی نمی‌کند، پس یک برگرداندن نمی‌تواند کار کس دیگری را نابود کند. پاسخ هر موقعیت: [چطور…؟](/docs/fa/how-do-i#برگرداندن). ## ۱۳. فایل‌های بزرگ و مدل‌ها ```diagram type: stats title: ویرایشی نزدیک آغاز یک فایل ۱٫۷ مگابایتی --- ~1% | از تکه‌هایش دوباره فرستاده شد | بقیه از پیش در هر دو طرف بودند | 1 | good 2 | فایل یکسان | یک بار ذخیره می‌شوند: محتوای یکسان، نام یکسان | | accent ``` zev فایل‌های بزرگ را بر اساس محتوایشان تکه‌تکه می‌کند، پس یک ویرایش فقط تکه‌های اطرافش را می‌فرستد، چه در push چه در pull. داده، وزن‌های مدل و رسانه کنار کد می‌مانند، بی‌نیاز از ابزار جداگانه برای فایل‌های بزرگ. [تکه‌بندی وابسته به محتوا](/docs/fa/chunking). ## ۱۴. اثباتش کنید: تاریخچه‌ای که هر کسی می‌تواند بسنجد ```diagram type: flow title: اعتماد کن، ولی بسنج --- امضاشده | هر کامیت تازه، روی رایانهٔ شما؛ یک بار `zev signing-key add` تا Zaryn آن‌ها را تأییدشده نشان دهد | | ✍ ~ zev verify-storage ذخیره‌شده | اثبات رمزنگاشتی که Zaryn واقعاً هر چه push کردید را نگه می‌دارد | accent | 🧾 ~ zev notarize ثبت‌شده | هش یک کامیت روی یک بلاکچین عمومی: اثبات اینکه آن زمان وجود داشت | good | ⛓ ``` ```bash zev signing-key add # یک بار: کامیت‌های امضاشده‌تان تأییدشده نشان داده می‌شوند zev verify-storage # does Zaryn really hold my last push? zev notarize commit <id> # public proof this commit existed today zev audit # the repository's full provenance report ``` [کامیت‌های امضاشده](/docs/fa/signed-commits) و [ذخیره‌سازی بررسی‌پذیر](/docs/fa/verified-storage) اثبات‌ها را توضیح می‌دهند. ## ۱۵. خصوصی، و رمزشده ```diagram type: flow title: رمزشده پیش از بیرون رفتن از رایانهٔ شما --- مخزن خصوصی | فقط شما و کسانی که دعوت می‌کنید | | 🔒 ~ zev encrypt on رمزشده | محتوای فایل‌ها با کلیدی قفل می‌شود که فقط دستگاه‌های شما دارند | accent | 🔐 ~ zev encrypt share هم‌تیمی‌ها | هر یک از دستگاه‌هایشان کلید را می‌گیرد | good | 🤝 ``` برای کاری که باید حتی از میزبان هم خصوصی بماند، رمزگذاری را پیش از نخستین push روشن کنید. آن‌وقت Zaryn چیزی را نگه می‌دارد که نمی‌تواند بخواند. [مخزن‌های رمزشده](/docs/fa/encrypted-repositories). ## ۱۶. خودکارش کنید ```diagram type: cards --- ▶ | CI | هر push در کانتینری قفل‌شده ساخته و آزموده می‌شود: `zev ci enable` | accent 📈 | ارزیابی‌ها | درخواست ادغامی که بنچمارک یا باندلی را بدتر کند ادغام نمی‌شود | good 🤖 | عامل‌های هوش مصنوعی | عامل را از راه خودتان وارد کنید و `zev mcp` را به آن بدهید | 🧾 | اسکریپت‌ها | `--json` روی هر فرمان، داده روی stdout، کدهای خروج معنادار | ``` از نخستین مخزن تا تاریخچه‌ای اثبات‌پذیر و خودکار آمدید. بعد: [شروع کار با CI](/docs/fa/get-started-ci)، [چطور…؟](/docs/fa/how-do-i) برای پاسخ‌های کوتاه، و [اسکریپت‌نویسی و عامل‌های هوش مصنوعی](/docs/fa/automation-and-agents).
آموزش را به پایان رساندید

از اینجا کجا بروید