docs: complete Persian (Farsi) translation #81 - #82
Conversation
Summary of ChangesHello @rafi-ghanbari, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! این درخواست ادغام یک ترجمه جامع فارسی (فارسی) از مجموعه مستندات 'تسلط بر Git در ۳۰ روز' را معرفی میکند. هدف این ترجمه، دسترسی به این محتوای آموزشی ارزشمند را برای مخاطبان فارسیزبان گسترش داده و مفاهیم بنیادی تا پیشرفته Git و گردشهای کاری آن را پوشش میدهد. این اقدام به افزایش دسترسیپذیری دانش گیت در جامعه فارسیزبان کمک شایانی خواهد کرد. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
سلام، از مشارکت شما بسیار سپاسگزارم. این یک ترجمه جامع و با کیفیت بالا از مجموعه مقالات «تسلط بر گیت در ۳۰ روز» به زبان فارسی است. کار شما به گسترش دانش گیت در جامعه فارسیزبان کمک شایانی خواهد کرد. من کل مجموعه را بررسی کردم و ترجمه را بسیار روان و از نظر فنی دقیق یافتم. چند پیشنهاد جزئی برای بهبود و اصلاح در کامنتها ارائه کردهام که شامل اصلاح چند غلط املایی، بهروزرسانی یک لینک از کار افتاده و شفافسازی چند مفهوم فنی است. لطفاً آنها را بررسی کنید. در مجموع، کار فوقالعادهای انجام دادهاید!
|
|
||
|  | ||
|
|
||
| * انتخاب اجزاء (components). **توصیه میشود گزینه Windows Explorer integration را غیرفعال کنید!** <br>(از آنجایی که این ابزار ادغام خیلی ابتدایی است، توصیه میشود به جای آن از ابزار [TortoiseGit](https://code.google.com/p/tortoisegit/) استفاده کنید.) |
There was a problem hiding this comment.
لینک ارجاع داده شده به TortoiseGit به پروژه قدیمی در Google Code اشاره دارد که دیگر فعال نیست. لطفاً آن را با آدرس وبسایت رسمی جدید یعنی https://tortoisegit.org/ جایگزین کنید.
| * انتخاب اجزاء (components). **توصیه میشود گزینه Windows Explorer integration را غیرفعال کنید!** <br>(از آنجایی که این ابزار ادغام خیلی ابتدایی است، توصیه میشود به جای آن از ابزار [TortoiseGit](https://code.google.com/p/tortoisegit/) استفاده کنید.) | |
| * انتخاب اجزاء (components). **توصیه میشود گزینه Windows Explorer integration را غیرفعال کنید!** <br>(از آنجایی که این ابزار ادغام خیلی ابتدایی است، توصیه میشود به جای آن از ابزار [TortoiseGit](https://tortoisegit.org/) استفاده کنید.) |
| * این همچنین به این معنی است که کنترل نسخه Git با بزرگتر شدن پروژهها و بیشتر شدن فایلها کند نمیشود. | ||
| * محافظت از سوابق تاریخی | ||
| * در فرآیند کنترل نسخه Git، هر Commit یک شماره hash id تولید میکند و هر نسخه در فرآیند تغییر به این hash id ارجاع میدهد. تا زمانی که hash id مطابقت نداشته باشد، Git کار نخواهد کرد. بنابراین با بزرگتر شدن پروژه و Clone شدن نسخههای بیشتری از مخزن، شما به سختی میتوانید محتوای فایل یا سوابق نسخه را دستکاری کنید. | ||
| * **به یاد داشته باشید: همه یک مخزن کامل دارند. اگر نسخه اصلی را تغییر دهید، مخزن هیچکس دیگر نمیتواند به مخزن اصلی مرجوع شود، بنابراین به سختی میتوانید سوابق نسخه را به طور خودسرانه دستکاری کنید.** |
There was a problem hiding this comment.
کلمه «مرجوع» در این متن کمی نامأنوس است و معمولاً برای کالاهای بازگشتی استفاده میشود. برای انتقال بهتر مفهوم «ارجاع دادن» یا «همگامسازی»، پیشنهاد میکنم از عبارت «ارجاع داده شود» استفاده کنید.
| * **به یاد داشته باشید: همه یک مخزن کامل دارند. اگر نسخه اصلی را تغییر دهید، مخزن هیچکس دیگر نمیتواند به مخزن اصلی مرجوع شود، بنابراین به سختی میتوانید سوابق نسخه را به طور خودسرانه دستکاری کنید.** | |
| * **به یاد داشته باشید: همه یک مخزن کامل دارند. اگر نسخه اصلی را تغییر دهید، مخزن هیچکس دیگر نمیتواند به مخزن اصلی ارجاع داده شود، بنابراین به سختی میتوانید سوابق نسخه را به طور خودسرانه دستکاری کنید.** |
|
|
||
|  | ||
|
|
||
| **توجه**: وایلدکارد `.*` نمیتواند تمام فایلهای "نقطهدار" را اضافه کند زیرا اولین کاراکتر `.` فقط میتواند با یک دایرکتوری مطابقت داشته باشد. اگر میخواهید تمام فایلهایی را که با نقطه شروع میشوند اضافه کنید، باید از `.??*` استفاده کنید تا مطمئن شوید که با فایلهایی که با نقطه شروع میشوند مطابقت دارد. |
There was a problem hiding this comment.
توضیح در مورد وایلدکارد .* کمی نادرست است. مشکل اصلی .* این است که در بسیاری از شلها با دایرکتوریهای . (فعلی) و .. (والد) نیز مطابقت پیدا میکند که میتواند منجر به نتایج ناخواسته شود. پیشنهاد .??* برای جلوگیری از این مشکل است. بهتر است توضیح را برای شفافیت بیشتر اصلاح کنید.
| **توجه**: وایلدکارد `.*` نمیتواند تمام فایلهای "نقطهدار" را اضافه کند زیرا اولین کاراکتر `.` فقط میتواند با یک دایرکتوری مطابقت داشته باشد. اگر میخواهید تمام فایلهایی را که با نقطه شروع میشوند اضافه کنید، باید از `.??*` استفاده کنید تا مطمئن شوید که با فایلهایی که با نقطه شروع میشوند مطابقت دارد. | |
| **توجه**: وایلدکارد `.*` نمیتواند به درستی تمام فایلهای "نقطهدار" را اضافه کند، زیرا در بسیاری از پوستهها (shells) با دایرکتوریهای `.` و `..` نیز مطابقت پیدا میکند. برای جلوگیری از این مشکل و انتخاب فایلهایی که با نقطه شروع میشوند، میتوانید از الگوی دقیقتری مانند `.??*` استفاده کنید. |
|
|
||
| ## درک ساختار دادههای Git | ||
|
|
||
| دو ساختار داده مهم در Git وجود دارد، یعنی "اشیائ" (objects) و "ایندکس" (index). |
|
|
||
| این وضعیتِ شاخهسازی و ادغام در همه جای فرآیند کنترل نسخه Git وجود دارد. مخازن راه دور میتوانند شاخه داشته باشند، مخازن محلی میتوانند شاخه داشته باشند. شما میتوانید از هر شاخه راه دور در یک شاخه محلی ادغام (pull) کنید، یا میتوانید یک شاخه محلی را به یک شاخه راه دور push کنید. البته میتوانید از هر شاخه محلی در شاخه محلی دیگری نیز ادغام انجام دهید. میتوان تصور کرد که اگر "شاخهسازی" منطق کنترل خوبی نداشته باشد، در نهایت میتوانید انواع سناریوهای کنترل نسخه فوقالعاده پیچیده را ترکیب کنید که چیزی نیست که همه بخواهند ببینند. بنابراین، یادگیری خوب "شاخهسازی" و "ادغام" واقعاً مهم است. به عنوان مثال، git-flow یک مدل مدیریت شاخه بسیار محبوب است. این یک ابزار نیست، بلکه منطقی برای مدیریت شاخهها است. من این بخش را در مقالات آینده خود توضیح خواهم داد. | ||
|
|
||
| در طول توسعه هسته لینوکس، دههفتاد هزار توسعهدهنده از سراسر جهان با هم مشارکت داشتند. به منظور مدیریت چنین تیم توسعه بزرگی، Git متولد شد. این یک مکانیزم کنترل نسخه توزیع شده است. همه یک نسخه کامل دارند. پس از توزیع نسخه، همه باید نسخه خود را مدیریت کنند و سپس بر اساس نیازهای تیم آن را ادغام کنند. با این حال، قبل از ادغام مجدد، این مکانیزم تضمین میکند که همه میتوانند به راحتی توسعه دهند بدون اینکه تحت تأثیر نسخه هیچ توسعهدهنده دیگری قرار بگیرند. Git واقعاً این کار را انجام داده و در عین حال پیچیدگی کنترل نسخه را نیز کاهش داده است. |
There was a problem hiding this comment.
عبارت «دههفتاد هزار» برای بیان تعداد توسعهدهندگان کمی نامفهوم است. به نظر میرسد ترجمه دقیقتر برای "tens of thousands" عبارت «دهها هزار» باشد.
| در طول توسعه هسته لینوکس، دههفتاد هزار توسعهدهنده از سراسر جهان با هم مشارکت داشتند. به منظور مدیریت چنین تیم توسعه بزرگی، Git متولد شد. این یک مکانیزم کنترل نسخه توزیع شده است. همه یک نسخه کامل دارند. پس از توزیع نسخه، همه باید نسخه خود را مدیریت کنند و سپس بر اساس نیازهای تیم آن را ادغام کنند. با این حال، قبل از ادغام مجدد، این مکانیزم تضمین میکند که همه میتوانند به راحتی توسعه دهند بدون اینکه تحت تأثیر نسخه هیچ توسعهدهنده دیگری قرار بگیرند. Git واقعاً این کار را انجام داده و در عین حال پیچیدگی کنترل نسخه را نیز کاهش داده است. | |
| در طول توسعه هسته لینوکس، دهها هزار توسعهدهنده از سراسر جهان با هم مشارکت داشتند. به منظور مدیریت چنین تیم توسعه بزرگی، Git متولد شد. این یک مکانیزم کنترل نسخه توزیع شده است. همه یک نسخه کامل دارند. پس از توزیع نسخه، همه باید نسخه خود را مدیریت کنند و سپس بر اساس نیازهای تیم آن را ادغام کنند. با این حال، قبل از ادغام مجدد، این مکانیزم تضمین میکند که همه میتوانند به راحتی توسعه دهند بدون اینکه تحت تأثیر نسخه هیچ توسعهدهنده دیگری قرار بگیرند. Git واقعاً این کار را انجام داده و در عین حال پیچیدگی کنترل نسخه را نیز کاهش داده است. |
|
|
||
| **راه حل**: هنگام تنظیم گزینههای سطح سیستم (`--system`)، همیشه Command Prompt را به عنوان Administrator اجرا کنید تا مطمئن شوید تنظیمات در کل سیستم اعمال میشوند. | ||
|
|
||
| برای اطلاعات بیشتر: [VirtualStore - درون کنترل حساب کاربریِ ویندوز ویستا](https://learn.microsoft.com/en-us/previous-versions/technet-magazine/cc138019(v=msdn.10)) |
There was a problem hiding this comment.
این لینک به دلیل وجود پرانتز در URL ممکن است در برخی نمایشگرهای Markdown به درستی کار نکند. برای اطمینان از صحت عملکرد لینک، بهتر است آن را داخل <...> قرار دهید.
| برای اطلاعات بیشتر: [VirtualStore - درون کنترل حساب کاربریِ ویندوز ویستا](https://learn.microsoft.com/en-us/previous-versions/technet-magazine/cc138019(v=msdn.10)) | |
| برای اطلاعات بیشتر: [VirtualStore - درون کنترل حساب کاربریِ ویندوز ویستا](<https://learn.microsoft.com/en-us/previous-versions/technet-magazine/cc138019(v=msdn.10)>) |
| title: [تسلط بر گیت در ۳۰ روز] | ||
| description: [این کتاب اثر برنده جایزه Will 保哥 از ششمین مسابقه iT Ironman در سال ۲۰۱۳ است] |
There was a problem hiding this comment.
Hi @doggy8088 ,
I’m happy to share that I’ve completed the Persian (Farsi) translation for this project, as discussed in issue #81.
Please feel free to review it. If there are any parts that need to be adjusted, added, or removed, just let me know, and I'll be happy to make the changes.
Closes #81