آموزش کار با گیت - به همراه معرفی و ترجمه کتاب پرو گیت pro git

ابتدا با معرفی کتاب پرو گیت شروع میکنم

برای معرفی این کتاب با یک سوال شروع میکنم و سپس مقدمه کتاب و معرفی فصل ها را برایتان می آورم. توجه داشته باشید. میتوانید از خواندن این نوشتار صرف نظر کنید و به خواندن جزیره ای یعنی مطابق نیاز خودتان روی بیاورید. اگر برای بار اول است که میخواهید کتاب را بخوانید توصیه میکنم معرفی فصل ها را بخوانید تا در ذهنتان ساختاری از کتاب شکل بگیرد تا بهتر بتوانید در اینده آن را به یاد بیاورید. ابتدا به تصویر زیر نگاه کنید و سپس به خوانش هر انچه تمایل دارید و صد البته خواندن معرفی فصل ها بپردازید.


چرا کتاب Pro Git را بخوانیم؟

پروگیت Pro Git یکی از جامع‌ترین و محبوب‌ترین منابع برای یادگیری Git است. این کتاب به شما کمک می‌کند تا درک عمیقی از این ابزار قدرتمند کنترل نسخه پیدا کنید و به طور موثر از آن در پروژه‌های خود استفاده کنید. در ادامه دلایلی که چرا باید این کتاب را بخوانید آورده شده است:

  • آموزش گام به گام: کتاب Pro Git با زبانی ساده و روشی گام به گام، مفاهیم پیچیده Git را به شما آموزش می‌دهد. حتی اگر هیچ تجربه قبلی در زمینه کنترل نسخه نداشته باشید، با دنبال کردن این کتاب می‌توانید به راحتی Git را یاد بگیرید.
  • پوشش جامع: این کتاب تمامی جنبه‌های Git را پوشش می‌دهد، از اصول اولیه تا مفاهیم پیشرفته‌تر. شما می‌توانید در مورد شاخه‌ها، ادغام، تگ‌ها، مخازن از راه دور، همکاری تیمی و بسیاری از موضوعات دیگر اطلاعات کسب کنید.
  • مثال‌های عملی: کتاب Pro Git مملو از مثال‌های عملی است که به شما کمک می‌کنند مفاهیم را بهتر درک کنید. با انجام این مثال‌ها، می‌توانید مهارت‌های خود را در استفاده از Git تقویت کنید.
  • بروزرسانی مداوم: نویسندگان کتاب Pro Git همواره تلاش می‌کنند تا کتاب را با آخرین تغییرات و ویژگی‌های Git به‌روز نگه دارند. بنابراین، با خواندن این کتاب، مطمئن هستید که از آخرین اطلاعات در مورد Git برخوردار هستید.
  • منبع باز: کتاب Pro Git به صورت منبع باز منتشر شده است. این بدان معناست که شما می‌توانید به صورت رایگان به متن کامل کتاب دسترسی داشته باشید و حتی در بهبود آن مشارکت کنید.
  • جامعه بزرگ: کتاب Pro Git یک جامعه بزرگ از کاربران و توسعه‌دهندگان دارد. شما می‌توانید در انجمن‌های آنلاین مربوط به این کتاب شرکت کنید و سوالات خود را بپرسید و از تجربیات دیگران بهره‌مند شوید.

به طور خلاصه، اگر می‌خواهید به یک کاربر حرفه‌ای Git تبدیل شوید، خواندن کتاب Pro Git یکی از بهترین تصمیم‌هایی است که می‌توانید بگیرید.

در ادامه مقدمه اسکات چکون و بن استراب را میخوانیم.

مقدمه اسکات چکون

به نسخه دوم کتاب Pro Git خوش آمدید. نسخه اول بیش از چهار سال پیش منتشر شد. از آن زمان، تغییرات زیادی رخ داده است، اما بسیاری از موارد مهم تغییر نکرده‌اند. در حالی که اکثر دستورات و مفاهیم اصلی امروزه همچنان معتبر هستند، زیرا تیم اصلی Git در حفظ سازگاری رو به عقب بسیار خوب عمل می‌کند، برخی تغییرات و افزوده‌های قابل توجهی در جامعه اطراف Git رخ داده است. نسخه دوم این کتاب با هدف رسیدگی به این تغییرات و به‌روزرسانی کتاب برای کمک بیشتر به کاربران جدید نوشته شده است.

هنگامی که نسخه اول را نوشتم، Git هنوز یک ابزار نسبتاً دشوار برای استفاده و به‌سختی پذیرفته شده برای هکرهای هسته‌ای سخت‌گیر بود. این ابزار در برخی جوامع شروع به محبوبیت کرد، اما هنوز به همه جا نفوذ نکرده بود. از آن زمان، تقریباً هر جامعه منبع باز آن را پذیرفته است. Git پیشرفت چشمگیری در ویندوز، در انفجار رابط‌های کاربری گرافیکی برای همه پلتفرم‌ها، در پشتیبانی IDE و در استفاده تجاری داشته است. Pro Git چهار سال پیش هیچ یک از این موارد را می‌دانست. یکی از اهداف اصلی این نسخه جدید، لمس کردن این مرزهای جدید در جامعه Git است.

جامعه منبع باز نیز در استفاده از Git انفجار بزرگی داشته است. زمانی که تقریباً پنج سال پیش برای نوشتن کتاب نشستم (مدت زیادی طول کشید تا نسخه اول را منتشر کنم)، تازه شروع به کار در یک شرکت بسیار ناشناخته کرده بودم که یک وب‌سایت میزبانی Git به نام GitHub را توسعه می‌داد. در زمان انتشار، شاید چند هزار نفر از این سایت استفاده می‌کردند و تنها چهار نفر روی آن کار می‌کردند. در حالی که من این مقدمه را می‌نویسم، GitHub در حال اعلام پروژه میزبان دهم میلیون خود است، با نزدیک به ۵ میلیون حساب توسعه‌دهنده ثبت شده و بیش از ۲۳۰ کارمند. چه آن را دوست داشته باشید یا نه، GitHub بخش‌های بزرگی از جامعه منبع باز را به روشی تغییر داده است که در زمان نوشتن نسخه اول قابل تصور نبود.

در نسخه اصلی Pro Git، بخش کوچکی درباره GitHub به عنوان یک مثال از میزبانی Git نوشتم که هرگز احساس راحتی با آن نداشتم. من زیاد دوست نداشتم که چیزی را می‌نوشتم که احساس می‌کردم اساساً یک منبع جامعه است و همچنین در مورد شرکت خودم در آن صحبت می‌کردم. اگرچه هنوز هم این تضاد منافع را دوست ندارم، اهمیت GitHub در جامعه Git غیرقابل انکار است. به جای یک مثال از میزبانی Git، تصمیم گرفتم آن بخش از کتاب را به توصیف دقیق‌تر آنچه GitHub است و نحوه استفاده مؤثر از آن تبدیل کنم. اگر می‌خواهید یاد بگیرید که چگونه از Git استفاده کنید، دانستن نحوه استفاده از GitHub به شما کمک می‌کند تا در یک جامعه بزرگ شرکت کنید، که این موضوع ارزشمند است، صرف نظر از اینکه کدام میزبان Git را برای کد خود انتخاب می‌کنید.

تغییر بزرگ دیگر در زمان انتشار آخرین نسخه، توسعه و ظهور پروتکل HTTP برای تراکنش‌های شبکه Git بوده است. اکثر مثال‌ها در کتاب از SSH به HTTP تغییر کرده‌اند، زیرا بسیار ساده‌تر است.

تماشای رشد Git در چند سال گذشته از یک سیستم کنترل نسخه نسبتاً نامشخص تا تسلط بر کنترل نسخه تجاری و منبع باز شگفت‌انگیز بوده است. خوشحالم که Pro Git نیز موفق بوده است و یکی از معدود کتاب‌های فنی موجود در بازار است که هم بسیار موفق و هم کاملاً منبع باز است.

امیدوارم از این نسخه به‌روز شده Pro Git لذت ببرید.



مقدمه نوشته بن استراوب

نسخه اول این کتاب همان چیزی بود که مرا به Git معتاد کرد. این کتاب معرفی من به سبکی از ساخت نرم‌افزار بود که طبیعی‌تر از هر چیزی که قبلاً دیده بودم احساس می‌شد. تا آن زمان، چندین سال توسعه‌دهنده بودم، اما این بود که من را به مسیر بسیار جالب‌تری نسبت به مسیری که در آن بودم هدایت کرد.

اکنون، سال‌ها بعد، من یک مشارکت‌کننده در یک پیاده‌سازی اصلی Git هستم، برای بزرگ‌ترین شرکت میزبانی Git کار کرده‌ام و در سراسر جهان به مردم در مورد Git آموزش داده‌ام. زمانی که اسکات از من پرسید آیا علاقه‌مند به کار روی نسخه دوم هستم، حتی نیازی به فکر کردن نداشتم.

کار روی این کتاب لذت و افتخار بزرگی بوده است. امیدوارم این کتاب به شما همان اندازه که به من کمک کرد، کمک کند.


تقدیم‌نامه بن استراوب:

"به همسرم، بکی، بدون او این ماجرا هرگز آغاز نمی‌شد."

تقدیم‌نامه اسکات چاکون:

"این نسخه به دخترانم تقدیم می‌شود. به همسرم جسیکا که در طول این سال‌ها از من حمایت کرده است و به دخترم جوزفین، که از من حمایت خواهد کرد وقتی خیلی پیر شده باشم و ندانم چه اتفاقی در حال رخ دادن است."



نسخه کنونی کتاب پرو گیت:

Pro Git

Scott Chacon, Ben Straub

Version 2.1.434, 2024-09-04

معرفی فصل های کتاب

در این کتاب، در طول چند ساعت، به دنیای Git قدم خواهید گذاشت. بیایید ابتدا یک خلاصه از ده فصل و سه ضمیمه این کتاب ارائه دهیم.

در فصل اول، به معرفی سیستم‌های کنترل نسخه (VCS) و اصول اولیه Git می‌پردازیم. بدون پیچیدگی‌های فنی، توضیح می‌دهیم که Git چیست، چرا در دنیایی پر از VCSها به وجود آمد، چه ویژگی‌هایی آن را متمایز می‌کند و چرا بسیاری از افراد از آن استفاده می‌کنند. سپس، نحوه دانلود و تنظیم Git را برای اولین بار توضیح می‌دهیم، در صورتی که هنوز آن را بر روی سیستم خود نصب نکرده باشید.

در فصل دوم، به استفاده‌های پایه Git خواهیم پرداخت – نحوه استفاده از Git در 80% از مواردی که بیشترین مواجهه را خواهید داشت. پس از خواندن این فصل، باید بتوانید یک مخزن را کپی کنید، تاریخچه پروژه را مشاهده کنید، فایل‌ها را اصلاح کنید و تغییرات خود را ارسال کنید. اگر در این مرحله کتاب خودبه خود بسوزد، باید در مدت زمانی که برای برداشتن یک نسخه دیگر نیاز دارید، به اندازه کافی در استفاده از Git مهارت کسب کرده باشید. منظور طنزگونه این است که مثلا اگر کتاب به‌طور ناگهانی آتش بگیرد و از بین برود، شما تا این مرحله از یادگیری باید آن‌قدر در استفاده از Git مهارت پیدا کرده باشید که حتی در زمانی که به دنبال تهیه یک نسخه جدید از کتاب هستید، بتوانید به‌خوبی از Git استفاده کنید.

فصل سوم به مدل شاخه‌بندی branching در Git می‌پردازد، که اغلب به عنوان ویژگی برتر Git توصیف می‌شود. در اینجا، یاد خواهید گرفت که چه چیزی Git را از سایر سیستم‌های کنترل نسخه متمایز می‌کند. پس از پایان این فصل، ممکن است احساس کنید که نیاز به یک لحظه سکوت برای تأمل در مورد اینکه چگونه پیش از حضور شاخه‌بندی Git زندگی می‌کردید، دارید.

فصل چهارم به Git روی سرور می‌پردازد. این فصل برای کسانی است که می‌خواهند Git را در داخل سازمان خود یا بر روی سرور شخصی خود برای همکاری تنظیم کنند. همچنین، گزینه‌های مختلف میزبانی را بررسی خواهیم کرد اگر ترجیح می‌دهید این کار را به شخص دیگری بسپارید.

فصل پنجم به طور کامل به جریان های کاری توزیع شده distributed workflows و نحوه انجام آن‌ها با Git می‌پردازد. پس از پایان این فصل، باید بتوانید به طور ماهرانه با چندین مخزن از راه دور کار کنید، از Git از طریق ایمیل استفاده کنید و به طور ماهرانه شاخه‌های متعدد از راه دور و وصله‌های ارسالی را مدیریت کنید.

فصل ششم به سرویس میزبانی و ابزارهای GitHub می‌پردازد. ما در مورد ثبت نام و مدیریت یک حساب کاربری، ایجاد و استفاده از مخازن Git، روش‌های کار مشترک در پروژه‌ها و دریافت مشارکت‌ها، رابط برنامه‌نویسی GitHub و بسیاری از نکات کوچک دیگر برای آسان‌تر کردن زندگی شما صحبت خواهیم کرد.

فصل هفتم به دستورات پیشرفته Git می‌پردازد. در اینجا، در مورد موضوعاتی مانند تسلط بر دستور ترسناک 'reset'، استفاده از جستجوی باینری برای شناسایی باگ‌ها، ویرایش تاریخچه، انتخاب دقیق نسخه‌ها و موارد دیگر یاد خواهید گرفت. این فصل دانش شما را تکمیل می‌کند تا واقعاً یک استاد Git شوید.

فصل هشتم به پیکربندی محیط سفارشی Git شما می‌پردازد. این شامل تنظیم اسکریپت‌های هوک برای اعمال یا تشویق سیاست‌های سفارشی و استفاده از تنظیمات پیکربندی محیط برای کار به روش دلخواه شما است. همچنین، ما در مورد ساخت مجموعه اسکریپت‌های خود برای اعمال یک سیاست تعهد سفارشی صحبت خواهیم کرد.

فصل نهم به Git و سایر VCSها می‌پردازد. این شامل استفاده از Git در دنیای ساب ورژن (زیرنسخه) Subversion (SVN) و تبدیل پروژه‌ها از سایر VCSها به Git است. بسیاری از سازمان‌ها هنوز از SVN استفاده می‌کنند و قصد تغییر ندارند، اما در این مرحله، شما قدرت خارق‌العاده Git را یاد خواهید گرفت – و این فصل نشان می‌دهد که چگونه در صورت نیاز به استفاده از یک سرور SVN کنار بیایید. همچنین، نحوه وارد کردن پروژه‌ها از چندین سیستم مختلف را در صورت متقاعد کردن همه برای تغییر به Git پوشش می‌دهیم. برای مطالعه درباره ساب ورژن به اینجا مراجعه کنید:

فصل دهم به اعماق تاریک اما زیبای داخلی Git می‌پردازد. اکنون که همه چیز را در مورد Git می‌دانید و می‌توانید با قدرت و زیبایی از آن استفاده کنید، می‌توانید به بحث در مورد نحوه ذخیره اشیاء توسط Git، مدل شیء آن، جزئیات فایل‌های بسته، پروتکل‌های سرور و موارد دیگر بپردازید. در طول کتاب، به بخش‌هایی از این فصل اشاره خواهیم کرد، در صورتی که احساس کردید در آن زمان می‌خواهید عمیق‌تر شوید؛ اما اگر مانند ما به جزئیات فنی علاقه دارید، ممکن است بخواهید ابتدا فصل دهم را بخوانید. این انتخاب به عهده شماست.

در ضمیمه A، به چندین مثال از استفاده از Git در محیط‌های مختلف خاص نگاه می‌کنیم. ما چندین GUI و محیط‌های برنامه‌نویسی IDE را که ممکن است بخواهید Git را در آن‌ها استفاده کنید و آنچه در دسترس شما است را پوشش می‌دهیم. اگر به دنبال یک مرور کلی در مورد استفاده از Git در پوسته، IDE یا ویرایشگر متن خود هستید، به اینجا نگاه کنید.

در ضمیمه B، ما اسکریپت‌نویسی و گسترش Git را از طریق ابزارهایی مانند libgit2 و JGit بررسی می‌کنیم. اگر به نوشتن ابزارهای سفارشی پیچیده و سریع و نیاز به دسترسی سطح پایین به Git علاقه دارید، اینجاست که می‌توانید ببینید این چشم‌انداز چگونه است.

سرانجام، در ضمیمه C، ما به بررسی تک تک دستورات اصلی Git می‌پردازیم و مرور می‌کنیم که در کدام بخش از کتاب آن‌ها را پوشش دادیم و چه کاری با آن‌ها انجام دادیم. اگر می‌خواهید بدانید که در کدام بخش از کتاب از هر دستور خاص Git استفاده کردیم، می‌توانید در اینجا آن را جستجو کنید.

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