تقلب نامه گیت قسمت اول

سلام دوستان خسته نباشید. نماز روزه هاتون هم قبول واقع بشه ان‌شاالله ببخشید یه مدتی بود که پستی ننوشته بودم به بزرگی خودتون ببخشید:)


مقدمه:

  • گیت چیست؟

خود گیت اینو میگه (اینجا):

بنابراین به طور مختصر گیت چیست؟ این بخش مهمی برای یادگیری است، چراکه اگر بدانید گیت چیست و مقدمات اینکه چطوری کار می‌کند را درک کنید، کار کردن با گیت برای شما، احتمالاً به طور چشم‌گیری، آسان‌تر خواهد بود. همانطور که گیت را می‌آموزید، سعی کنید ذهن خود را از چیزهایی که ممکن است درباره دیگر ورژن کنترل ها(vcs) مانند سیستم نسخه‌های هم‌روند(cvs) ، آپاچی ساب‌ورژن یا Perforce می‌دانید پاک نگه‌دارید — این کار کمک می‌کند که از پیچیدگی‌های حاصل ناخودآگاه به هنگام استفاده از این نرم‌افزار دوری کنید. اگرچه رابط کاربری گیت بسیار مشابه با دیگر ورژن کنترل ها است،‌ اما گیت دربارهٔ اطلاعات و ذخیره‌سازی آنها نگرش بسیار متفاوتی دارد و درک این تفاوت‌ها به شما کمک می‌کند تا از گیج شدن حین استفاده اجتناب کنید.
تفاوت اصلی بین گیت و هر VCS دیگری (ساب‌ورژن و دوستان) در نحوهٔ نگرش گیت به داده‌هایش است. از منظر مفهومی، بیشتر دیگر سیستم‌ها اطلاعات را به عنوان لیستی از تغییرات اعمال شده روی یک فایل پایه ذخیره می‌کنند. این دسته از سیستم‌ها (CVS، ساب‌ورژن، Perforce، Bazaar، و غیره) به اطلاعاتی که ذخیره می‌کنند به عنوان مجموعه‌ای از فایل‌ها و تغییراتی که در طی زمان به آنها اعمال شده می‌نگرند (به طور کل این رفتار کنترل نسخه دلتا-پایه نامیده می‌شود).

حقیقتا من بعضی جا های این توضیح رو نفهمیدم چون که مترجم خیلی تخصصی برخورد کرده!

اینو هم از اینجا کش رفتم (!) ولی این ساده تر توضیج داده:

گیت یک نوع سیستم کنترل ورژن (VCS) است که با آن می‌توانید تغییرات اعمال شده در فایل‌ها را ساده‌تر پیگیری کنید. مثلاً، اگر فایلی را ویرایش کنید، گیت می‌تواند دقیقاً به شما بگوید که چه چیزی تغییر کرده است، چه کسی آن را تغییر داده است و دلیلِ این تغییر چه بوده است.
گیت برای هماهنگ کردن وظایف میانِ اشخاصِ مختلفی که، روی یک پروژه کار می‌کنند، مفید است. هم‌چنین می‌توان با ذخیره‌ی “Checkpoint” پیشرفتِ پروژه را در طی زمان بررسی کرد. می‌توانید از گیت برای نوشتن یک مقاله استفاده کنید، یا وقتی که می‌خواهید تغییراتِ اعمال شده را، در یک فایل هنری یا طراحی، پیگیری کنید.
گیت تنها سیستم کنترل ورژن موجود نیست، اما معروف‌ترین آنهاست. بسیاری از برنامه‌نویسان به صورت روزانه از گیت استفاده می‌کنند و بلد بودن آن می‌تواند تأثیر خوبی روی رزومه‌ی کاری‌تان داشته باشد.

خب تا اینجا فهمیدیم که گیت برای اینه تغییرات اعمال شده در فایل ها را ساده تر مدیریت کنیم و اگه مثلا نیازی داشتیم که به عقب برگردیم و قسمتی از پروژه (فقط برنامه نویسی نه ! مثلا یه دانش‌آموز، دانش‌جو و ... میتونه برای مدیریت نوشتن مقاله ازش استفاده کنه) رو چک کنیم می تونیم از گیت استفاده کنیم.


خب گیت رو چطوری نصب کنیم؟؟

به این سایت میریم تا نسبت به سیستم عاملمون نصبش کنیم.

اگه توی لینوکس هستید به احتمال زیاد نصبه ولی اگه نصب نبود به صورت زیر نصب کنید.

sudo apt install git                                                        Debian/Ubuntu
sudo yum install git                                                       RedHat/Fedora
sudo pacman -S git                                                         ArchLinux/manjero
sudo zypper in git                                                             OpenSuse

توی بقیه سیستم عامل ها هم سایت خودش توضیح داده میتونید از اونجا نصب کنید.(+)


خب شروع می‌کنیم به قسمت شیرین ماجرا ? تقلب نامه :

چگونه گیت ما رو بشناسه؟؟!

  • git config --global user.name (نام کاربر)
  • git config --global user.email (ایمیل)
  • git config --global user.signingkey (gpg key)

بجای (نام کاربر) اسم مورد نظر خودتون رو بنویسید تا گیت شما رو به اسمتون بشناسه و بدونه که کی داره کار میکنه و بجای ایمیل هم ایمیلتون رو بنویسید تا گیت ایمیل شما رو هم بدونه. مورد سوم اجباری نیست و البته خارج از مبحث هم هستش ان‌شالله دفعات بعد خدمتتون عرض میکنم.

چطوری به گیت بگیم که ادیتور پیش‌فرض ما چیه؟

  • git config --global core.editor vim

ادیتور پیش‌فرض من ویم هستش شما اگه چیز دیگه مدنظرتون هستش بجاش بنویسید


شروع کار با گیت:

  • git init

شروع کار با git یعنی اینکه گیت یه دایرکتوری میسازه تا اونجا مخزن باشه

  • git add fileName

یک فایل را به همان شکل که در حال حاضر قرار دارد به کامیت بعدی (Stage )اضافه یمکند.

  • git add -A

مثل مورد قبلی ولی اینبار تمام فایل های غیر استیج رو به استیج اضافه میکنه

  • git reset [file]

یک فایل را در حایل که تغییرات در دایرکتوری کاری بدون تغییر باقی مانده، از Stageخارج یمکند.

  • git diff --staged

مواردی که Stage شده ولی هنوز کامیت نشدهاند را مشخص می‌کند.

  • git log

این دستور الگوهای کامیت را در شاخه فعال کنونی نمایش می‌دهد.

  • git status

نمایش وضعیت


تا دیداری دیگر بدرود :)


بروزرسانی: قسمت دوم در اینجا